前言:在国内,通过RKE2(Rancher Kubernetes Engine V2)部署Kubernetes集群时,镜像拉取往往是导致RKE集群部署失败的主要原因之一,因此在RKE集群部署时,本文通过浏览器拉取RKE集群所需的部署镜像方式来加速/简便部署流程。

一、部署节点实例准备

在本文,规划RKE2集群部署的Kubernetes集群包含控制平面的实例和工作平面的实例,具体分配如下:

Instance-Name hostname IP-Address OS-Release Role-Type
宿主机 shoyoJeong 192.168.1.9 Ubuntu 25.10-x86_64 虚机控制平面
r9-master-1 rke2-server-01 192.168.122.11 Rocky Linux 9.6-x86_64 ctr
r9-master-2 rke2-server-02 192.168.122.12 Rocky Linux 9.6-x86_64
r9-master-3 rke2-server-03 192.168.122.13 Rocky Linux 9.6-x86_64
r9-work-1 rke2-worker-01 192.168.122.21 Rocky Linux 9.6-x86_64 wrk
r9-work-2 rke2-worker-02 192.168.122.22 Rocky Linux 9.6-x86_64

二、上述实例均统一按如下要求配置/更改

五、工作面安装部署

  • 关闭防火墙sudo systemctl stop firewalld && sudo systemctl disable firewalld

  • sudo systemctl stop firewalld && sudo systemctl disable firewalld
  • 关闭SELInux(测试环境,生产环境下按配置放行)

  • sudo setenforce 0
    sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
  • 关闭SWAP

  • sudo swapoff -a
    sudo sed -i '/swap/s/^/#/' /etc/fstab

  • 更改hostname,按表一中分别对应更改即可

  • sudo hostnamectl set-hostname rke2-server-01

  • 编辑hosts文件,追加下列内容即可

  • 192.168.122.11 rke2-server-01 rke2-server-01.contoso.intra
    192.168.122.12 rke2-server-02 rke2-server-02.contoso.intra
    192.168.122.13 rke2-server-03 rke2-server-03.contoso.intra
    192.168.122.21 rke2-worker-01 rke2-worker-01.contoso.intra
    192.168.122.22 rke2-worker-02 rke2-worker-02.contoso.intra

  • 重启各实例,使修改的配置生效

  • reboot

    三、各实例实现免密登录(ansible批量实现即可)

  • 编辑inventory.ini文件,ansible我部署在宿主机上(192.168.1.9),宿主机已与各实例实现免密,下面步骤主要是实现各实例间免密登录的操作

  • cat host.ini 
    [servers]
    rke2-server-01 ansible_host=192.168.122.11
    rke2-server-02 ansible_host=192.168.122.12
    rke2-server-03 ansible_host=192.168.122.13
    [workers]
    rke2-worker-01 ansible_host=192.168.122.21
    rke2-worker-02 ansible_host=192.168.122.22
    [k8s_cluster:children]
    servers
    workers
    [k8s_cluster:vars]
    ansible_user=root
    ansible_ssh_private_key_file=~/.ssh/id_rsa

  • 创建playbook免密登录剧本

  • cat unsecretLogin.yaml
    ---
    - name: Setting SSH Login Without Secret!!!
      hosts: all  # 修正:应该是hosts而不是host
      gather_facts: yes
      tasks:
        - name: Ensure the ~/.ssh dir exists.
          file:
            path: ~/.ssh
            state: directory  # 修正:去掉多余空格
            mode: '0700'
    
        - name: Generate an SSH key pair (if it does not exist).
          openssh_keypair:
            path: ~/.ssh/id_rsa
            type: rsa
            size: 4096
            state: present
    
        - name: Fetch the public key from each host.
          slurp:
            src: ~/.ssh/id_rsa.pub
          register: public_key_content
          delegate_to: "{{ inventory_hostname }}"
    
        - name: Extract public key from slurp result
          set_fact:
            my_public_key: "{{ public_key_content.content | b64decode }}"
    
    - name: Configure passwordless SSH for all hosts
      hosts: all
      tasks:
        - name: Add public keys to authorized_keys for all hosts
          authorized_key:
            user: root
            state: present
            key: "{{ hostvars[item]['my_public_key'] }}"
            exclusive: no
          loop: "{{ groups['all'] }}"
          when: 
            - hostvars[item]['my_public_key'] is defined
            - inventory_hostname != item  # 避免将自己的key加给自己
    
        - name: Setting hostname
          hostname:
            name: "{{ hostname }}"  # 修正:去掉花括号内的空格

  • 执行剧本没有报错即可

  • ansible-playbook -i host.ini unsecretLogin.yaml

    四、控制面安装部署

  • 下载RKE2集群部署所需要的镜像包

  • https://github.com/rancher/rke2/releases/download/v1.33.5+rke2r1/rke2-images.linux-amd64.tar.gz

  • 编写RKE2集群部署配置文件(核心),在rke2-server-01节点执行

    mkdir -p /etc/rancher/rke2/
    
    # 创建配置文件,如下
    
    cat /etc/rancher/rke2/config.yaml
    
    token: 123456
    system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
    node-taint:
      - "node-role.kubernetes.io/control-plane:NoSchedule"

  • 执行运行脚本,如下载不了,可将下方链接到浏览器下载后传到该节点执行

  • curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
    
    
    # 执行完毕后执行如下操作启动rke2服务
    systemctl enable --now rke2-server.service

  • 上一个步骤需要消耗一些时间,待/run/k3s/containerd/containerd.sock文件生成时,上传下载好的镜像文件

  • scp rke2-images.linux-amd64.tar.gz rke2-server-01:/tmp/
    
    /var/lib/rancher/rke2/bin/ctr -a /run/k3s/containerd/containerd.sock -n k8s.io images import /tmp/rke2-images.linux-amd64.tar.gz
    # -a /run/k3s/containerd/containerd.sock,指定containerd路径运行

  • 配置必要环境变量

  • export PATH=$PATH:/var/lib/rancher/rke2/bin
    export CONTAINER_RUNTIME_ENDPOINT=unix:///run/k3s/containerd/containerd.sock
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml

  • 查看镜像列表是否存在镜像,等待rke2-server.service服务状态正常即可,表示该节点的rke2部署成功

  • crictl images
    
    docker.io/rancher/hardened-addon-resizer                                                1.8.23-build20250909                                      6512f88872393       48.1MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-addon-resizer                        1.8.23-build20250909                                      6512f88872393       48.1MB
    docker.io/rancher/hardened-calico                                                       v3.30.3-build20250909                                     5f6f4a72df6db       684MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-calico                               v3.30.3-build20250909                                     5f6f4a72df6db       684MB
    docker.io/rancher/hardened-cluster-autoscaler                                           v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-cluster-autoscaler                   v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
    docker.io/rancher/hardened-coredns                                                      v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-coredns                              v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
    docker.io/rancher/hardened-dns-node-cache                                               1.26.0-build20250909                                      0e4df0a881d75       64.1MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-dns-node-cache                       1.26.0-build20250909                                      0e4df0a881d75       64.1MB
    docker.io/rancher/hardened-etcd                                                         v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-etcd                                 v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
    docker.io/rancher/hardened-flannel                                                      v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-flannel                              v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
    docker.io/rancher/hardened-k8s-metrics-server                                           v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-k8s-metrics-server                   v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
    docker.io/rancher/hardened-kubernetes                                                   v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
    registry.cn-hangzhou.aliyuncs.com/rancher/hardened-kubernetes                           v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
    docker.io/rancher/klipper-helm                                                          v0.9.8-build20250709                                      180d1ef27ac95       216MB
    registry.cn-hangzhou.aliyuncs.com/rancher/klipper-helm                                  v0.9.8-build20250709                                      180d1ef27ac95       216MB
    docker.io/rancher/klipper-lb                                                            v0.4.13                                                   f7415d0003cb6       12.7MB
    registry.cn-hangzhou.aliyuncs.com/rancher/klipper-lb                                    v0.4.13                                                   f7415d0003cb6       12.7MB
    docker.io/rancher/mirrored-ingress-nginx-kube-webhook-certgen                           v1.6.2                                                    8c217da6734db       71.1MB
    registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-ingress-nginx-kube-webhook-certgen   v1.6.2                                                    8c217da6734db       71.1MB
    docker.io/rancher/mirrored-pause                                                        3.6                                                       6270bb605e12e       686kB
    registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-pause                                3.6                                                       6270bb605e12e       686kB
    docker.io/rancher/mirrored-sig-storage-snapshot-controller                              v8.2.0                                                    25f7295428a63       71.9MB
    registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-sig-storage-snapshot-controller      v8.2.0                                                    25f7295428a63       71.9MB
    docker.io/rancher/nginx-ingress-controller                                              v1.12.6-hardened1                                         7315636f9588e       700MB
    registry.cn-hangzhou.aliyuncs.com/rancher/nginx-ingress-controller                      v1.12.6-hardened1                                         7315636f9588e       700MB
    docker.io/rancher/rke2-cloud-provider                                                   v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
    registry.cn-hangzhou.aliyuncs.com/rancher/rke2-cloud-provider                           v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
    docker.io/rancher/rke2-runtime                                                          v1.33.5-rke2r1                                            6f9c58d56f061       306MB
    registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  v1.33.5-rke2r1                                            6f9c58d56f061       306MB
    registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  <none>                                                    bf41be6d133cd       100MB

  • 在rke2-server-02、rke2-server-03节点执行

    • RKE2集群部署配置文件编写

    • cat /etc/rancher/rke2/config.yaml 
      server: https://rke2-server-01:9345
      token: 123456
      tls-san:
        - rke2-server-01.contoso.intra
        - rke2-server-02.contoso.intra
        - rke2-server-03.contoso.intra
        - rke2-server-01
        - rke2-server-02
        - rke2-server-03
        - 192.168.122.11
        - 192.168.122.12
        - 192.168.122.13
      node-taint:
        - "node-role.kubernetes.io/control-plane:NoSchedule"

    •  执行运行脚本,如下载不了,可将下方链接到浏览器下载后传到该节点执行

    • curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
      
      
      # 执行完毕后执行如下操作启动rke2服务
      systemctl enable --now rke2-server.service

    • 上一个步骤需要消耗一些时间,待/run/k3s/containerd/containerd.sock文件生成时,上传下载好的镜像文件

    • scp rke2-images.linux-amd64.tar.gz rke2-server-01:/tmp/
      
      /var/lib/rancher/rke2/bin/ctr -a /run/k3s/containerd/containerd.sock -n k8s.io images import /tmp/rke2-images.linux-amd64.tar.gz
      # -a /run/k3s/containerd/containerd.sock,指定containerd路径运行

    • 配置必要环境变量

    • export PATH=$PATH:/var/lib/rancher/rke2/bin
      export CONTAINER_RUNTIME_ENDPOINT=unix:///run/k3s/containerd/containerd.sock
      export KUBECONFIG=/etc/rancher/rke2/rke2.yaml

    • 查看镜像列表是否存在镜像,等待rke2-server.service服务状态正常即可,表示该节点的rke2部署成功

    • crictl images
      
      docker.io/rancher/hardened-addon-resizer                                                1.8.23-build20250909                                      6512f88872393       48.1MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-addon-resizer                        1.8.23-build20250909                                      6512f88872393       48.1MB
      docker.io/rancher/hardened-calico                                                       v3.30.3-build20250909                                     5f6f4a72df6db       684MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-calico                               v3.30.3-build20250909                                     5f6f4a72df6db       684MB
      docker.io/rancher/hardened-cluster-autoscaler                                           v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-cluster-autoscaler                   v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
      docker.io/rancher/hardened-coredns                                                      v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-coredns                              v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
      docker.io/rancher/hardened-dns-node-cache                                               1.26.0-build20250909                                      0e4df0a881d75       64.1MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-dns-node-cache                       1.26.0-build20250909                                      0e4df0a881d75       64.1MB
      docker.io/rancher/hardened-etcd                                                         v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-etcd                                 v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
      docker.io/rancher/hardened-flannel                                                      v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-flannel                              v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
      docker.io/rancher/hardened-k8s-metrics-server                                           v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-k8s-metrics-server                   v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
      docker.io/rancher/hardened-kubernetes                                                   v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
      registry.cn-hangzhou.aliyuncs.com/rancher/hardened-kubernetes                           v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
      docker.io/rancher/klipper-helm                                                          v0.9.8-build20250709                                      180d1ef27ac95       216MB
      registry.cn-hangzhou.aliyuncs.com/rancher/klipper-helm                                  v0.9.8-build20250709                                      180d1ef27ac95       216MB
      docker.io/rancher/klipper-lb                                                            v0.4.13                                                   f7415d0003cb6       12.7MB
      registry.cn-hangzhou.aliyuncs.com/rancher/klipper-lb                                    v0.4.13                                                   f7415d0003cb6       12.7MB
      docker.io/rancher/mirrored-ingress-nginx-kube-webhook-certgen                           v1.6.2                                                    8c217da6734db       71.1MB
      registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-ingress-nginx-kube-webhook-certgen   v1.6.2                                                    8c217da6734db       71.1MB
      docker.io/rancher/mirrored-pause                                                        3.6                                                       6270bb605e12e       686kB
      registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-pause                                3.6                                                       6270bb605e12e       686kB
      docker.io/rancher/mirrored-sig-storage-snapshot-controller                              v8.2.0                                                    25f7295428a63       71.9MB
      registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-sig-storage-snapshot-controller      v8.2.0                                                    25f7295428a63       71.9MB
      docker.io/rancher/nginx-ingress-controller                                              v1.12.6-hardened1                                         7315636f9588e       700MB
      registry.cn-hangzhou.aliyuncs.com/rancher/nginx-ingress-controller                      v1.12.6-hardened1                                         7315636f9588e       700MB
      docker.io/rancher/rke2-cloud-provider                                                   v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
      registry.cn-hangzhou.aliyuncs.com/rancher/rke2-cloud-provider                           v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
      docker.io/rancher/rke2-runtime                                                          v1.33.5-rke2r1                                            6f9c58d56f061       306MB
      registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  v1.33.5-rke2r1                                            6f9c58d56f061       306MB
      registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  <none>                                                    bf41be6d133cd       100MB

    工作面加入集群比较简单,与部署控制面主要命令一致,主要是部署配置文件内容有差别

    • 在rke2-worker-01、rke2-worker-02节点执行

      • 获取集群TOKEN令牌

      • cat /var/lib/rancher/rke2/server/node-token 
        K10cdac777b9805d6cd280cbcf59469b7112632088865827a6b64e20b092200c06a::server:123456

      • 编写配置文件

      • cat /etc/rancher/rke2/config.yaml 
        server: https://192.168.122.11:9345
        token: "K10cdac777b9805d6cd280cbcf59469b7112632088865827a6b64e20b092200c06a::server:123456"
        system-default-registry: "registry.cn-hangzhou.aliyuncs.com"

      •  执行运行脚本,如下载不了,可将下方链接到浏览器下载后传到该节点执行

      • curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
        
        
        # 执行完毕后执行如下操作启动rke2服务
        systemctl enable --now rke2-server.service

      • 上一个步骤需要消耗一些时间,待/run/k3s/containerd/containerd.sock文件生成时,上传下载好的镜像文件

      • scp rke2-images.linux-amd64.tar.gz rke2-server-01:/tmp/
        
        /var/lib/rancher/rke2/bin/ctr -a /run/k3s/containerd/containerd.sock -n k8s.io images import /tmp/rke2-images.linux-amd64.tar.gz
        # -a /run/k3s/containerd/containerd.sock,指定containerd路径运行

      • 配置必要环境变量

      • export PATH=$PATH:/var/lib/rancher/rke2/bin
        export CONTAINER_RUNTIME_ENDPOINT=unix:///run/k3s/containerd/containerd.sock
        export KUBECONFIG=/etc/rancher/rke2/rke2.yaml

      • 查看镜像列表是否存在镜像,等待rke2-server.service服务状态正常即可,表示该节点的rke2部署成功

      • crictl images
        
        docker.io/rancher/hardened-addon-resizer                                                1.8.23-build20250909                                      6512f88872393       48.1MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-addon-resizer                        1.8.23-build20250909                                      6512f88872393       48.1MB
        docker.io/rancher/hardened-calico                                                       v3.30.3-build20250909                                     5f6f4a72df6db       684MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-calico                               v3.30.3-build20250909                                     5f6f4a72df6db       684MB
        docker.io/rancher/hardened-cluster-autoscaler                                           v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-cluster-autoscaler                   v1.10.2-build20250909                                     8fe3e1adeeee2       48.7MB
        docker.io/rancher/hardened-coredns                                                      v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-coredns                              v1.12.3-build20250909                                     2406bbbbe7ba5       89.1MB
        docker.io/rancher/hardened-dns-node-cache                                               1.26.0-build20250909                                      0e4df0a881d75       64.1MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-dns-node-cache                       1.26.0-build20250909                                      0e4df0a881d75       64.1MB
        docker.io/rancher/hardened-etcd                                                         v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-etcd                                 v3.5.21-k3s1-build20250910                                3c6a8384c4c02       48.4MB
        docker.io/rancher/hardened-flannel                                                      v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-flannel                              v0.27.3-build20250901                                     9480ffc162b5e       67.7MB
        docker.io/rancher/hardened-k8s-metrics-server                                           v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-k8s-metrics-server                   v0.8.0-build20250909                                      b901f3eee16ce       71.6MB
        docker.io/rancher/hardened-kubernetes                                                   v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
        registry.cn-hangzhou.aliyuncs.com/rancher/hardened-kubernetes                           v1.33.5-rke2r1-build20250910                              a5967c5eabc23       632MB
        docker.io/rancher/klipper-helm                                                          v0.9.8-build20250709                                      180d1ef27ac95       216MB
        registry.cn-hangzhou.aliyuncs.com/rancher/klipper-helm                                  v0.9.8-build20250709                                      180d1ef27ac95       216MB
        docker.io/rancher/klipper-lb                                                            v0.4.13                                                   f7415d0003cb6       12.7MB
        registry.cn-hangzhou.aliyuncs.com/rancher/klipper-lb                                    v0.4.13                                                   f7415d0003cb6       12.7MB
        docker.io/rancher/mirrored-ingress-nginx-kube-webhook-certgen                           v1.6.2                                                    8c217da6734db       71.1MB
        registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-ingress-nginx-kube-webhook-certgen   v1.6.2                                                    8c217da6734db       71.1MB
        docker.io/rancher/mirrored-pause                                                        3.6                                                       6270bb605e12e       686kB
        registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-pause                                3.6                                                       6270bb605e12e       686kB
        docker.io/rancher/mirrored-sig-storage-snapshot-controller                              v8.2.0                                                    25f7295428a63       71.9MB
        registry.cn-hangzhou.aliyuncs.com/rancher/mirrored-sig-storage-snapshot-controller      v8.2.0                                                    25f7295428a63       71.9MB
        docker.io/rancher/nginx-ingress-controller                                              v1.12.6-hardened1                                         7315636f9588e       700MB
        registry.cn-hangzhou.aliyuncs.com/rancher/nginx-ingress-controller                      v1.12.6-hardened1                                         7315636f9588e       700MB
        docker.io/rancher/rke2-cloud-provider                                                   v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
        registry.cn-hangzhou.aliyuncs.com/rancher/rke2-cloud-provider                           v1.33.4-rc1.0.20250814212538-148243c49519-build20250908   b9470b5f9b89f       80.1MB
        docker.io/rancher/rke2-runtime                                                          v1.33.5-rke2r1                                            6f9c58d56f061       306MB
        registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  v1.33.5-rke2r1                                            6f9c58d56f061       306MB
        registry.cn-hangzhou.aliyuncs.com/rancher/rke2-runtime                                  <none>                                                    bf41be6d133cd       100MB
      •  

        六、集群状态检查

      • 检查所有节点状态,如下其它节点已达Ready状态,代表成功加入集群,但是rke2-worker-01为NotReady状态,故需要排查

      • kubectl get nodes
        NAME             STATUS     ROLES                       AGE     VERSION
        rke2-server-01   Ready      control-plane,etcd,master   18h     v1.33.5+rke2r1
        rke2-server-02   Ready      control-plane,etcd,master   17h     v1.33.5+rke2r1
        rke2-server-03   Ready      control-plane,etcd,master   17h     v1.33.5+rke2r1
        rke2-worker-01   NotReady   <none>                      6h46m   v1.33.5+rke2r1
        rke2-worker-02   Ready      <none>                      5h12m   v1.33.5+rke2r1

      • 登录rke2-worker-01节点排查rke2-agent.service服务状态,状态为dead状态,故需要重启并排查故障原因

      • [root@rke2-worker-01 ~]# systemctl status rke2-agent.service 
        ○ rke2-agent.service - Rancher Kubernetes Engine v2 (agent)
             Loaded: loaded (/usr/lib/systemd/system/rke2-agent.service; disabled; preset: disabled)
             Active: inactive (dead)
               Docs: https://github.com/rancher/rke2#readme
               
        [root@rke2-worker-01 ~]# systemctl start rke2-agent.service 
        
        
        [root@rke2-worker-01 ~]# systemctl status rke2-agent.service 
        ● rke2-agent.service - Rancher Kubernetes Engine v2 (agent)
             Loaded: loaded (/usr/lib/systemd/system/rke2-agent.service; disabled; preset: disabled)
             Active: active (running) since Mon 2025-10-06 21:46:59 CST; 22s ago
               Docs: https://github.com/rancher/rke2#readme
            Process: 4236 ExecStartPre=/bin/sh -xc ! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service (code=exited, status=0/SUCCESS)
            Process: 4238 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
            Process: 4239 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
           Main PID: 4240 (rke2)
              Tasks: 83
             Memory: 408.1M
                CPU: 1.723s
             CGroup: /system.slice/rke2-agent.service
                     ├─4240 "/usr/bin/rke2 agent"
                     ├─4261 containerd -c /var/lib/rancher/rke2/agent/etc/containerd/config.toml
                     ├─4299 kubelet --volume-plugin-dir=/var/lib/kubelet/volumeplugins --file-check-frequency=5s --sync-frequency=30s --cloud-provider=external --config-dir=/var/lib/rancher/rke2/agent/etc/kubelet.conf.d --containerd=/run/k3s/con>
                     ├─4351 /var/lib/rancher/rke2/data/v1.33.5-rke2r1-522501607126/bin/containerd-shim-runc-v2 -namespace k8s.io -id bc40ea7b8ce84ba42c12d862baa2d7ffa1d6a8bb97f24d2e0547c8368decae11 -address /run/k3s/containerd/containerd.sock
                     ├─4756 /var/lib/rancher/rke2/data/v1.33.5-rke2r1-522501607126/bin/containerd-shim-runc-v2 -namespace k8s.io -id 8cbc50b29bc0998b0c20f9b7733cf705ab5911964cc3ff8597e924240d51ff34 -address /run/k3s/containerd/containerd.sock
                     └─4956 /var/lib/rancher/rke2/data/v1.33.5-rke2r1-522501607126/bin/containerd-shim-runc-v2 -namespace k8s.io -id 90abc6776dde33942760b7eb16bb4fd566db5fc7d0a3ff201d879142f59196d0 -address /run/k3s/containerd/containerd.sock
        
        Oct 06 21:46:42 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:42+08:00" level=info msg="Server 192.168.122.13:6443@UNCHECKED->RECOVERING from successful health check"
        Oct 06 21:46:42 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:42+08:00" level=info msg="Server 192.168.122.12:6443@UNCHECKED->RECOVERING from successful health check"
        Oct 06 21:46:43 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:43+08:00" level=info msg="Server 192.168.122.12:9345@RECOVERING->PREFERRED from successful health check"
        Oct 06 21:46:43 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:43+08:00" level=info msg="Server 192.168.122.13:9345@RECOVERING->PREFERRED from successful health check"
        Oct 06 21:46:43 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:43+08:00" level=info msg="Server 192.168.122.13:6443@RECOVERING->PREFERRED from successful health check"
        Oct 06 21:46:43 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:43+08:00" level=info msg="Server 192.168.122.12:6443@RECOVERING->PREFERRED from successful health check"
        Oct 06 21:46:59 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:59+08:00" level=info msg="Tunnel authorizer set Kubelet Port 0.0.0.0:10250"
        Oct 06 21:46:59 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:59+08:00" level=info msg="Annotations and labels have already set on node: rke2-worker-01"
        Oct 06 21:46:59 rke2-worker-01 rke2[4240]: time="2025-10-06T21:46:59+08:00" level=info msg="rke2 agent is up and running"
        Oct 06 21:46:59 rke2-worker-01 systemd[1]: Started Rancher Kubernetes Engine v2 (agent).

      • 再次查看集群状态

      • [root@rke2-server-01 ~]# kubectl get node
        NAME             STATUS   ROLES                       AGE     VERSION
        rke2-server-01   Ready    control-plane,etcd,master   18h     v1.33.5+rke2r1
        rke2-server-02   Ready    control-plane,etcd,master   17h     v1.33.5+rke2r1
        rke2-server-03   Ready    control-plane,etcd,master   17h     v1.33.5+rke2r1
        rke2-worker-01   Ready    <none>                      6h50m   v1.33.5+rke2r1
        rke2-worker-02   Ready    <none>                      5h17m   v1.33.5+rke2r1

    Logo

    码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

    更多推荐