一、环境信息:
RKE2 版本:
Rancher servers版本2.7.3,RKE2版本v1.25.7+rke2r1,准备通过外部终止TLS方式进行部署
harbor私有仓库,已经从官网下载并上传rancher-images.txt(2.7.3和2.7.4)列表的相关镜像至harbor仓库
节点 CPU 架构,操作系统和版本:
1、Rancher server使用的是proxmox虚拟机3台,操作系统Centos7.9,RKE2版本v1.25.7+rke2r1(离线helm部署),Rancher servers版本2.7.3
2、下游集群使用的是物理服务器(公司淘汰的服务器,大多是2020年以前),3台,操作系统Centos7.9
集群配置:
1、Rancher Server使用的3台虚拟机自成集群,只供Rancher使用
2、下游集群,物理服务器3台,准备在Rancher servers直接创建v1.25.7+rke2r1集群
二、问题描述:
1、v1.25.7+rke2r1在proxmox虚拟机部署安装,无论是第1台server还是集群配置,均没有问题
2、v1.25.7+rke2r1在物理机服务器复制Rancher server创建的下游集群
三、重现步骤:
- 安装 RKE2 的命令:
1、Rancher Server需求的RKE2集群安装
1)安装文件,均从GitHub下载
install.sh
rke2-images.linux-amd64.tar.zst
rke2.linux-amd64.tar.gz
sha256sum-amd64.txt
2)安装命令
INSTALL_RKE2_TYPE=“server” INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-artifacts sh install.sh
3)第一个Server节点安装
rke2-server.service服务正常启动,然后创建集群配置文件,加入集群
mkdir -p /etc/rancher/rke2
vim /etc/rancher/rke2/config.yaml
server: https://rancherplatform1:9345
token: K106a9d92a46d38766b847e2f64c96b3d7738dec9feb6e0ce0e43a322f4af073e49::server:2992f64c92a46d38766ce63767bdbea5
tls-san:- 10.3.163.231
- 10.3.157.99
- virtual_loadblance_server
node-name: xxh_testplatform1
node-label:
- “role=master”
4)第2和第3个server节点同样安装,集群启动成功,通信正常。
2、Rancher server 安装
1)获取Rancher的Chart文件,输出rancher-2.7.3.tgz文件
helm fetch rancher-stable/rancher --version=v2.7.3
2)传入到内部网络在虚拟机上
3)添加TLS密文(公司申请的私有证书)
添加密文:kubectl -n cattle-system create secret tls tls-rancher-ingress
–cert=tls.crt
–key=tls.key
使用私有CA签名证书:kubectl -n cattle-system create secret generic tls-ca
–from-file=cacerts.pem=./cacerts.pem
4)安装Rancher
helm install rancher ./rancher-2.7.3.tgz \ #互联网Helm渲染生成的压缩包文件
–namespace cattle-system
–set hostname=<RANCHER.YOURDOMAIN.COM>
–set rancherImage=REGISTRY.YOURDOMAIN.COM:PORT/rancher/rancher
–set systemDefaultRegistry=REGISTRY.YOURDOMAIN.COM:PORT \ #设置在Rancher中使用的默认私有镜像仓库
–set useBundledSystemChart=true \ #使用打包的Rancher System Chart
–set tls=external \ #将负载均衡器指向所有Rancher集群节点上的端口HTTP 80
–set ingress.tls.source=secret
–set privateCA=true #可选
4)外部Nginx代理,使用官网推荐的nginx.config配置,访问Rancher WEB页面正常。
3、创建下游集群
1、根据页面的注册url在物理服务器(安装Centos7.9操作系统)上进行注册,结果失败。报错如下:
2、尝试在虚拟机上进行注册,仍然失败。
3、换一种方式,不进行注册下发,通过集群导入。但最让人头痛的事情是在物理服务器上直接部署RK2-v1.25.7+rke2r1集群,第1台server直接启动失败,让我崩溃了。
4、尝试虚拟机直接部署RK2-v1.25.7+rke2r1集群,然后在Rancher UI上直接导入,仍然失败。
预期结果:
1、RK2-v1.25.7+rke2r1集群+Rancher2.7.3高可用运行正常;
2、创建下游集群RK2-v1.25.7+rke2r1,集群正常下发注册,并运行业务应用
实际结果:
1、RK2-v1.25.7+rke2r1集群+Rancher2.7.3高可用运行正常;
2、创建下游集群RK2-v1.25.7+rke2r1,虚拟机和物理服务器均下发失败;
3、部署集群时,物理服务器也未成功,更不用谈导入集群测试。
最后想要说明,本怀揣着极大热情要把Rancher使用起来,以学习成本较低使用方便的优势在公司进行推广,建议相关业务放弃直接使用K8S的想法,但是从小白起家经过3个月的官网零散拼凑学习、部署摸索,直至现在弹尽粮绝难以支撑,如果我的部署过程对大家有帮助请借鉴,也请大家提出宝贵的意见指导我进一步走下去!