使用rke2-v1.32.5+rke2r1部署K8S集群并用helm部署rancher2.11.3一切正常,但创建自定义集群反复失败

三台rancher虚拟机,一台master,一台worker,都是centos7.9,rancher和master虚拟机均为2U4GB内存

以下是rke2部署K8S并用helm安装rancher的步骤(在rancher虚拟机执行):
1、设置 hostname(三台节点分别执行)省略
2、设置 /etc/hosts(三台节点都执行)省略
3、设置 iptables(三台节点都执行)
iptables -P FORWARD ACCEPT
4、关闭 swap(三台节点都执行)
swapoff -a
sed -i ‘/ swap / s/^(.)$/#\1/g’ /etc/fstab
5、关闭 selinux(三台节点都执行)
sed -ri 's#(SELINUX=).
#\1disabled#’ /etc/selinux/config
setenforce 0
6、将 NetworkManager 配置为忽略 calico/flannel 相关的网络接口(三台节点都执行)
cat > /etc/NetworkManager/conf.d/rke2-canal.conf <<EOF
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
EOF
关闭并禁用firewalld和NetworkManager(三台节点都执行)
systemctl stop firewalld && systemctl disable firewalld
systemctl stop NetworkManager && systemctl disable NetworkManager
7、修改内核参数(三台节点都执行)省略

在node1上执行:
mkdir -p /etc/rancher/rke2/
cat > /etc/rancher/rke2/config.yaml <<EOF
token: rke2rancher
tls-san: 192.168.102.13
system-default-registry: “newharbor.brightoilonline.com
cluster-cidr: 10.251.0.0/16
service-cidr: 10.252.0.0/16

ingress:
provider: nginx
options:
config-snipper: |
# 启用 snippet
enable-snippet-annotation: “true”
EOF

在node2和node3上执行:
mkdir -p /etc/rancher/rke2/
cat > /etc/rancher/rke2/config.yaml <<EOF
server: https://192.168.102.13:9345
token: rke2rancher
tls-san: 192.168.102.13
system-default-registry: “newharbor.brightoilonline.com
cluster-cidr: 10.251.0.0/16
service-cidr: 10.252.0.0/16
EOF

8、安装并启用rke2(三个节点都执行)。特别说明:需要等node1启动成功rke2-server后,才能在node2和node3上执行:
curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_VERSION=v1.32.5+rke2r1 sh -
systemctl enable rke2-server && systemctl start rke2-server

9、软连接集群配置文件和操作工具(只需在node1上执行):
ln -s /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/kubectl
ln -s /var/lib/rancher/rke2/bin/crictl /usr/local/bin/crictl
ln -s /var/lib/rancher/rke2/bin/ctr /usr/local/bin/ctr
mkdir -p /root/.kube
ln -s /etc/rancher/rke2/rke2.yaml ~/.kube/config

10、设置crictl的默认socket(只需在node1上执行)

说明:这里是rke2的一个bug,默认设置的socket是unix:///run/containerd/containerd.sock,而实际的确是unix:///run/k3s/containerd/containerd.sock:
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/k3s/containerd/containerd.sock
image-endpoint: unix:///run/k3s/containerd/containerd.sock
timeout: 10
debug: false
EOF

11、crt工具使用时,先设置alias别名-node1
cat >> ~/.bashrc <<EOF
alias ctr=‘ctr --address=/run/k3s/containerd/containerd.sock’
EOF

source ~/.bashrc

12、至此,k8s部署完成,检查node和pod正常运行-node1

13、安装helm-node1:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

14、安装rancher-node1:
kubectl create namespace cattle-system
使用权威证书
kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=/opt/quickegret.com.crt --key=/opt/quickegret.com.key

helm install rancher rancher/
–version 2.11.3
–namespace cattle-system
–set ingress.tls.source=secret
–set hostname=cfc-rancher.quickegret.com
–set systemDefaultRegistry=newharbor.brightoilonline.com
–set rancherImage=newharbor.brightoilonline.com/rancher/rancher
–set useBundledSystemChart=true
–set bootstrapPassword=admin
–set replicas=3

rancher部署很顺利,local集群一切正常:

然后创建自定义集群:



就只改了网络插件为canal,和目录为/data/rancher,其他都是默认没动

分别在master和worker执行注册命令:


master的报错:


worker的报错:

我使用过2.5.15,觉得挺好部署的,到这个2.11.3完全变了,感觉以前用的都白用了似得,求大佬解答

我把高级选项中的目录也用默认的,只改了网络插件为canal,重新执行,master出现了新的报错

master: