RKE2集群离线部署Rancher server,LB 终止TLS方式的部署疑问

使用 Helm CLI 在 Kubernetes 集群上部署 Rancher(离线安装)
RKE2集群已经部署完成且集群状态正常,我是参照上述链接的指导去安装Rancher的话,与官网有出入,现在环境中安装的不少问题,甚至导致REK2集群通信异常。有如下问题
1、离线安装时执行 helm fetch rancher-stable/rancher,已经下载了Rancher-2.7.1.tgz文件,是否还需要执行 渲染您的 Rancher Helm 模板,即指导中的4.4项;
2、既然TLS终止无需安装 cert-manager,则我就未执行渲染 Rancher Helm 模板,直接通过Rancher-2.7.1.tgz安装,镜像仓库是私有的,已经提前下载导入相关的镜像到私有仓库,如下命令:
helm install rancher ./rancher-version.tgz
–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 #将负载均衡器指向所Ranche集群节点上的端口HTTP 80

上面是在部署过程存在的疑问,下面是我的实际安装步骤如下:
1、 收集Rancher 版本所需要的资源,并导入私有镜像仓库;
2、部署RKE2集群(版本v1.25.9+rke2r2),集群通信正常;
3、创建rke2-ingress-nginx-config.yaml,设置use-forwarded-headers: “true”,为TLS终止准备;
4、获取最新的Rancher Chart,对应的tgz文件下载到本地,如helm fetch rancher-stable/rancher --version=v2.7.1
5、将rancher-2.7.1.tgz导入RKE2集群任一台主机,执行安装命令,如下:
helm install rancher ./rancher-2.7.1.tgz
–namespace cattle-system
–set hostname=xxhrancher.domain.com
–set rancherImage=harbor.domain.com/rancher/rancher
–set systemDefaultRegistry=harbor.domain.com
–set useBundledSystemChart=true
–set tls=external

结果试验了很多次,只有1次安装Rancher成功但是Rancher添加下游RKE2集群会异常,个人认为应该是安装步骤顺序或者执行命令有问题,Rancher的部署已经卡了我将近2个月,恳请解惑指导正确的安装步骤和命令!

更换Rancher版本为v2.7.4和v2.7.3通过上述方法安装均提示报错:Error: INSTALLATION FAILED: execution error at (rancher/templates/validate-psp-install.yaml:4:5): The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding. 我在rancher-2.7.4.tgz和rancher-2.7.3.tgz中没有找到PSP的相关配置。

首先非常感谢,解决了我很大的问题,还是因为对K8S不熟悉。
我在使用Rancher创建下游集群的时候,是否要将下游集群提前创建好集群配置文件/etc/rancher/rke2/config.yaml?
目前是在Rancher上直接创建集群,然后复制注册命令在3个下游集群节点进行注册,只有第1个节点启动了rke2-server.service,然后第2和第3个节点未创建rke2-server.service服务器,仅有rancher-system-agent.service服务。下图是Rancher平台集群主机情况和第1个节点rke2-server.service服务日志(一直在注册本地9345端口)


1 个赞

对的,我刚截图了情况,创建下游集群一直失败

大家的需求是什么,如果能写清楚,我可以按照详细的需求或者步骤去执行一遍,然后写一个类似的教程

目前是在rke2-1.25.7集群部署了Rancher2.7.3,Rancher正常运行。在Rancher上进行下游rke2-1.25.7集群注册的时候,3台主机注册不成功,卡在上述截图的情况。

我又查看了下游节点的rancher-system-agent.service服务,有如下报错

就是因为你的域名没有加到证书的允许列表里,所以被拒绝了啊

是在Rancher平台还是在下游集群添加

你创建证书的时候

安装Rancher的时候没有使用证书,命令如下:
helm install rancher ./rancher-2.7.3.tgz
–namespace cattle-system
–set hostname=xxhrancher.domain.com
–set rancherImage=harbor.domain.com/rancher/rancher
–set systemDefaultRegistry=harbor.domain.com
–set useBundledSystemChart=true
–set tls=external

有什么办法解决吗 :sweat_smile:

如果你要想在外部终止证书,你可以参考:Rancher 高可用安装--使用外部 LB 终止 SSL/TLS

我按照你之前发的这个链接操作的,使用的外部终止TLS方式部署的,公司的SSL证书是放在外部Nginx下的,其他网站访问正常。
我是不是少了–set privateCA=true 这条参数命令,导致的这种情况。那我现在要添加这条参数重新部署安装Rancher才能解决吗?
**文中提到的:**如果你使用的是私有 CA,Rancher 需要私有 CA 的根证书或证书链的副本,Rancher Agent 使用它来校验与 Server 的连接。 我们公司证书是每年都需要重新申请购买,也就是每年都要更新根证书吧

我在安装Rancher前已经做了
1、添加密文:
kubectl -n cattle-system create secret tls tls-rancher-ingress
–cert=tls.crt
–key=tls.key
2、使用私有CA签名证书

但是在通过Rancher UI创建下游集群的时候仍报同样的错误错:(物理服务器,Centos7.9安装完成后直接通过命令注册)
6月 18 01:42:43 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:43+08:00” level=error msg=“error loading CA cert for probe (kube-scheduler) /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: open /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: no such file or directory”
6月 18 01:42:43 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:43+08:00” level=error msg=“error while appending ca cert to pool for probe kube-scheduler”
6月 18 01:42:48 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:48+08:00” level=error msg=“error loading CA cert for probe (kube-controller-manager) /var/lib/rancher/rke2/server/tls/kube-controller-manager/kube-controller-manager.crt: open /var/lib/rancher/rke2/server/tls/kube-controller-manager/kube-controller-manager.crt: no such file or directory”
6月 18 01:42:48 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:48+08:00” level=error msg=“error while appending ca cert to pool for probe kube-controller-manager”
6月 18 01:42:48 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:48+08:00” level=error msg=“error loading CA cert for probe (kube-scheduler) /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: open /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: no such file or directory”
6月 18 01:42:48 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:48+08:00” level=error msg=“error while appending ca cert to pool for probe kube-scheduler”
6月 18 01:42:53 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:53+08:00” level=error msg=“error loading CA cert for probe (kube-controller-manager) /var/lib/rancher/rke2/server/tls/kube-controller-manager/kube-controller-manager.crt: open /var/lib/rancher/rke2/server/tls/kube-controller-manager/kube-controller-manager.crt: no such file or directory”
6月 18 01:42:53 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:53+08:00” level=error msg=“error while appending ca cert to pool for probe kube-controller-manager”
6月 18 01:42:53 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:53+08:00” level=error msg=“error loading CA cert for probe (kube-scheduler) /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: open /var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt: no such file or directory”
6月 18 01:42:53 xxh_testplatform1 rancher-system-agent[2554]: time=“2023-06-18T01:42:53+08:00” level=error msg=“error while appending ca cert to pool for probe kube-scheduler”

可参考 https://gist.github.com/kingsd041/5b4e454fe6f63552be19cfb81f3753ea#logging 来查看更多 rke2 的日志,看看是否有异常信息

这个链接访问失败,是否有其他的参考信息
我已经进行进一步测试,同样的RKE2-v1.25.7部署包,同样的操作步骤和命令,在虚拟机上部署正常,在屋里服务器上就是不行,只有网卡和CPU的区别,实在找不出原因了,请大神赐教!