基于rancher-rke部署 k8s集群

复制代码
 基于rancher-rke部署 k8s集群

一. RKE 简介

RKE 即 Rancher Kubernetes Engine,是由 Rancher 发布的一个极其简单、快速的 Kubernetes 安装程序,简化了 Kubernetes 集群的部署过程。

RKE 经过 CNCF 认证,支持多种操作系统,包括 MacOS、Linux 和 Windows,可以在裸金属服务器(BMS)和虚拟服务器(Virtualized Server)上运行。

RKE 会自动安装 CNI 插件、Ingress-Contoller 等组件。

二. RKE1 和 RKE2

RKE1(旧版 Rancher Kubernetes Engine)和 RKE2(下一代,也叫 RKE Government)是 Rancher 的两代 K8s 发行版,核心差异在容器运行时、控制平面架构、安全合规、部署方式,且 RKE1 已进入维护末期、RKE2 是官方推荐的下一代方案。下面从核心定位、架构、部署、运维、适用场景做完整对比:

一、核心定位与生命周期

RKE1:基于 Docker 的传统 K8s 发行版,CNCF 认证,面向通用生产;2025-07-31 停止维护(EOL),Rancher 2.12 + 不再支持新建 / 管理 RKE1 集群。

RKE2:下一代、安全合规优先(原名 RKE Government),对齐上游 K8s、轻量易运维、原生安全强化,长期支持、官方主推Rancher。

三、部署与运维关键区别

RKE1

配置文件:cluster.yml,定义节点、角色、网络、镜像等,依赖 SSH 免密、Docker 预安装。

集群状态:cluster.rkestate,手动维护、升级 / 扩容依赖rke up重跑。

痛点:Docker 版本兼容、镜像拉取权限、SSH 连通性、残留文件 / 证书冲突(你之前遇到的就是这类问题)。

RKE2

配置文件:/etc/rancher/rke2/config.yaml,极简、默认参数合理、支持环境变量Rancher。

服务化:rke2-server/rke2-agent systemd 服务,启动 / 停止 / 日志用systemctl、journalctl管理。

节点加入:server 生成 token,agent 用 token 加入,无需提前配置 SSH 免密、无需预安装 DockerRancher。

升级:直接更新二进制、重启服务,自动滚动升级、兼容上游 K8s 版本。

四、网络与 CNI

RKE1:支持 Calico、Canal、Flannel、Weave。

RKE2:默认 Calico,支持 Cilium、Canal、Multus(多网卡 / 多网络),更适合电信、多网络、安全隔离场景。

五、适用场景怎么选

选RKE1:仅当你有存量老集群、深度依赖 Docker 生态、短期无法迁移,且接受不再更新的风险;不建议新建集群。

选RKE2:所有新建生产集群、安全 / 合规要求高、云原生 / 容器标准环境、边缘 / 混合云、需要长期维护;完全替代 RKE1,解决 Docker 依赖、证书、镜像、安全等所有老问题。

六、部署RKE1实操

原始git库下载


bash 复制代码
 AMD架构
wget -O /usr/bin/rke https://github.com/rancher/rke/releases/download/v1.5.9/rke_linux-amd64
chmod +x /usr/bin/rke

#ARM架构

bash 复制代码
wget -O /usr/bin/rke https://github.com/rancher/rke/releases/download/v1.5.9/rke_linux-arm64
chmod +x /usr/bin/rke
bash 复制代码
#查看版本信息
rke -v

加速下载:

bash 复制代码
wget -O /usr/bin/rke https://gh-proxy.com/https://github.com/rancher/rke/releases/download/v1.5.9/rke_linux-amd64

 chmod +x /usr/bin/rke # 查看版本信息 
rke -v

其它初始化环境准备工作

关闭防火墙

systemctl disable --now firewalld

关闭 selinxu

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

清空 iptables 规则

iptables -F && iptables -t nat -F

禁用 swap 分区

swapoff -a

sed -i '/swap / s/^(.*)$/#\1/g' /etc/fstab

配置主机间 SSH 免密(详细过程略)

bash 复制代码
 切换到 rke 用户(没有就创建)
  su - rke 
  生成密钥,一路回车,不要设密码!
   ssh-keygen

ssh-copy-id rke@192.168.100.121

本机也需要对自己授权:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

安装 docker(详细过程略)

配置用户组

vi /etc/docker/daemon.json,添加 "group": "docker"

systemctl daemon-reload && systemctl restart docker

ll /var/run/docker.sock

srw-rw---- 1 root docker 0 May 17 14:05 /var/run/docker.sock

创建用户

useradd rke

加入用户组

usermod -aG docker rke

###创建配置文件

bash 复制代码
vi cluster.yml 
kubernetes_version: v1.25.16-rancher2-3

nodes:
  - address: 192.168.100.121
    user: rke
    role:
      - controlplane
      - etcd
    ssh_key_path: /home/rke/.ssh/id_rsa    # 密钥地址
    port: 22
  - address: 192.168.100.122
    user: rke
    role:
      - worker
    ssh_key_path: /home/rke/.ssh/id_rsa   # 密钥地址
    port: 22


network:
  plugin: calico   #声明采用何种网络cni

一键安装运行

bash 复制代码
rke up --config cluster.yml

[rke@master1 ~]$ rke up --config cluster.yml
INFO[0000] Running RKE version: v1.5.9                  
INFO[0000] Initiating Kubernetes cluster                
INFO[0000] [dialer] Setup tunnel for host [192.168.100.122] 
INFO[0000] [dialer] Setup tunnel for host [192.168.100.121] 
INFO[0000] Finding container [cluster-state-deployer] on host [192.168.100.121], try #1 
INFO[0000] Pulling image [rancher/rke-tools:v0.1.96] on host [192.168.100.121], try #1 
INFO[0063] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0063] Starting container [cluster-state-deployer] on host [192.168.100.121], try #1 
INFO[0063] [state] Successfully started [cluster-state-deployer] container on host [192.168.100.121] 
INFO[0063] Finding container [cluster-state-deployer] on host [192.168.100.122], try #1 
INFO[0063] Pulling image [rancher/rke-tools:v0.1.96] on host [192.168.100.122], try #1 
INFO[0109] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0109] Starting container [cluster-state-deployer] on host [192.168.100.122], try #1 
INFO[0109] [state] Successfully started [cluster-state-deployer] container on host [192.168.100.122] 
INFO[0109] [certificates] Generating CA kubernetes certificates 
INFO[0109] [certificates] Generating Kubernetes API server aggregation layer requestheader client CA certificates 
INFO[0110] [certificates] GenerateServingCertificate is disabled, checking if there are unused kubelet certificates 
INFO[0110] [certificates] Generating Kubernetes API server certificates 
INFO[0110] [certificates] Generating Service account token key 
INFO[0110] [certificates] Generating Kube Controller certificates 
INFO[0110] [certificates] Generating Kube Scheduler certificates 
INFO[0110] [certificates] Generating Kube Proxy certificates 
INFO[0110] [certificates] Generating Node certificate   
INFO[0110] [certificates] Generating admin certificates and kubeconfig 
INFO[0110] [certificates] Generating Kubernetes API server proxy client certificates 
INFO[0111] [certificates] Generating kube-etcd-192-168-100-121 certificate and key 
INFO[0111] Successfully Deployed state file at [./cluster.rkestate] 
INFO[0111] Building Kubernetes cluster                  
INFO[0111] [dialer] Setup tunnel for host [192.168.100.122] 
INFO[0111] [dialer] Setup tunnel for host [192.168.100.121] 
INFO[0111] [network] Deploying port listener containers 
INFO[0111] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0111] Starting container [rke-etcd-port-listener] on host [192.168.100.121], try #1 
INFO[0111] [network] Successfully started [rke-etcd-port-listener] container on host [192.168.100.121] 
INFO[0111] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0112] Starting container [rke-cp-port-listener] on host [192.168.100.121], try #1 
INFO[0112] [network] Successfully started [rke-cp-port-listener] container on host [192.168.100.121] 
INFO[0112] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0112] Starting container [rke-worker-port-listener] on host [192.168.100.122], try #1 
INFO[0113] [network] Successfully started [rke-worker-port-listener] container on host [192.168.100.122] 
INFO[0113] [network] Port listener containers deployed successfully 
INFO[0113] [network] Running control plane -> etcd port checks 
INFO[0113] [network] Checking if host [192.168.100.121] can connect to host(s) [192.168.100.121] on port(s) [2379], try #1 
INFO[0113] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0113] Starting container [rke-port-checker] on host [192.168.100.121], try #1 
INFO[0113] [network] Successfully started [rke-port-checker] container on host [192.168.100.121] 
INFO[0113] Removing container [rke-port-checker] on host [192.168.100.121], try #1 
INFO[0113] [network] Running control plane -> worker port checks 
INFO[0113] [network] Checking if host [192.168.100.121] can connect to host(s) [192.168.100.122] on port(s) [10250], try #1 
INFO[0113] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0113] Starting container [rke-port-checker] on host [192.168.100.121], try #1 
INFO[0113] [network] Successfully started [rke-port-checker] container on host [192.168.100.121] 
INFO[0113] Removing container [rke-port-checker] on host [192.168.100.121], try #1 
INFO[0113] [network] Running workers -> control plane port checks 
INFO[0113] [network] Checking if host [192.168.100.122] can connect to host(s) [192.168.100.121] on port(s) [6443], try #1 
INFO[0113] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0114] Starting container [rke-port-checker] on host [192.168.100.122], try #1 
INFO[0114] [network] Successfully started [rke-port-checker] container on host [192.168.100.122] 
INFO[0114] Removing container [rke-port-checker] on host [192.168.100.122], try #1 
INFO[0114] [network] Checking KubeAPI port Control Plane hosts 
INFO[0114] [network] Removing port listener containers  
INFO[0114] Removing container [rke-etcd-port-listener] on host [192.168.100.121], try #1 
INFO[0114] [remove/rke-etcd-port-listener] Successfully removed container on host [192.168.100.121] 
INFO[0114] Removing container [rke-cp-port-listener] on host [192.168.100.121], try #1 
INFO[0114] [remove/rke-cp-port-listener] Successfully removed container on host [192.168.100.121] 
INFO[0114] Removing container [rke-worker-port-listener] on host [192.168.100.122], try #1 
INFO[0114] [remove/rke-worker-port-listener] Successfully removed container on host [192.168.100.122] 
INFO[0114] [network] Port listener containers removed successfully 
INFO[0114] [certificates] Deploying kubernetes certificates to Cluster nodes 
INFO[0114] Finding container [cert-deployer] on host [192.168.100.122], try #1 
INFO[0114] Finding container [cert-deployer] on host [192.168.100.121], try #1 
INFO[0114] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0114] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0114] Starting container [cert-deployer] on host [192.168.100.122], try #1 
INFO[0114] Starting container [cert-deployer] on host [192.168.100.121], try #1 
INFO[0114] Finding container [cert-deployer] on host [192.168.100.122], try #1 
INFO[0114] Finding container [cert-deployer] on host [192.168.100.121], try #1 
INFO[0119] Finding container [cert-deployer] on host [192.168.100.121], try #1 
INFO[0119] Finding container [cert-deployer] on host [192.168.100.122], try #1 
INFO[0119] Removing container [cert-deployer] on host [192.168.100.121], try #1 
INFO[0119] Removing container [cert-deployer] on host [192.168.100.122], try #1 
INFO[0120] [reconcile] Rebuilding and updating local kube config 
INFO[0120] Successfully Deployed local admin kubeconfig at [./kube_config_cluster.yml] 
WARN[0120] [reconcile] host [192.168.100.121] is a control plane node without reachable Kubernetes API endpoint in the cluster 
WARN[0120] [reconcile] no control plane node with reachable Kubernetes API endpoint in the cluster found 
INFO[0120] [certificates] Successfully deployed kubernetes certificates to Cluster nodes 
INFO[0120] [file-deploy] Deploying file [/etc/kubernetes/admission.yaml] to node [192.168.100.121] 
INFO[0120] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0120] Starting container [file-deployer] on host [192.168.100.121], try #1 
INFO[0120] Successfully started [file-deployer] container on host [192.168.100.121] 
INFO[0120] Waiting for [file-deployer] container to exit on host [192.168.100.121] 
INFO[0120] Waiting for [file-deployer] container to exit on host [192.168.100.121] 
INFO[0120] Container [file-deployer] is still running on host [192.168.100.121]: stderr: [], stdout: [] 
INFO[0121] Removing container [file-deployer] on host [192.168.100.121], try #1 
INFO[0121] [remove/file-deployer] Successfully removed container on host [192.168.100.121] 
INFO[0121] [/etc/kubernetes/admission.yaml] Successfully deployed admission control config to Cluster control nodes 
INFO[0121] [file-deploy] Deploying file [/etc/kubernetes/audit-policy.yaml] to node [192.168.100.121] 
INFO[0121] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0121] Starting container [file-deployer] on host [192.168.100.121], try #1 
INFO[0121] Successfully started [file-deployer] container on host [192.168.100.121] 
INFO[0121] Waiting for [file-deployer] container to exit on host [192.168.100.121] 
INFO[0121] Waiting for [file-deployer] container to exit on host [192.168.100.121] 
INFO[0121] Container [file-deployer] is still running on host [192.168.100.121]: stderr: [], stdout: [] 
INFO[0122] Removing container [file-deployer] on host [192.168.100.121], try #1 
INFO[0122] [remove/file-deployer] Successfully removed container on host [192.168.100.121] 
INFO[0122] [/etc/kubernetes/audit-policy.yaml] Successfully deployed audit policy file to Cluster control nodes 
INFO[0122] [reconcile] Reconciling cluster state        
INFO[0122] [reconcile] This is newly generated cluster  
INFO[0122] Pre-pulling kubernetes images                
INFO[0122] Pulling image [rancher/hyperkube:v1.25.16-rancher2] on host [192.168.100.121], try #1 
INFO[0122] Pulling image [rancher/hyperkube:v1.25.16-rancher2] on host [192.168.100.122], try #1 
INFO[0352] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0352] Pulling image [rancher/mirrored-pause:3.7] on host [192.168.100.121], try #1 
INFO[0358] Image [rancher/mirrored-pause:3.7] exists on host [192.168.100.121] 
INFO[0408] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.122] 
INFO[0408] Pulling image [rancher/mirrored-pause:3.7] on host [192.168.100.122], try #1 
INFO[0415] Image [rancher/mirrored-pause:3.7] exists on host [192.168.100.122] 
INFO[0415] Kubernetes images pulled successfully        
INFO[0415] [etcd] Building up etcd plane..              
INFO[0415] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0415] Starting container [etcd-fix-perm] on host [192.168.100.121], try #1 
INFO[0415] Successfully started [etcd-fix-perm] container on host [192.168.100.121] 
INFO[0415] Waiting for [etcd-fix-perm] container to exit on host [192.168.100.121] 
INFO[0415] Waiting for [etcd-fix-perm] container to exit on host [192.168.100.121] 
INFO[0415] Container [etcd-fix-perm] is still running on host [192.168.100.121]: stderr: [], stdout: [] 
INFO[0416] Removing container [etcd-fix-perm] on host [192.168.100.121], try #1 
INFO[0416] [remove/etcd-fix-perm] Successfully removed container on host [192.168.100.121] 
INFO[0416] Pulling image [rancher/mirrored-coreos-etcd:v3.5.9] on host [192.168.100.121], try #1 
INFO[0441] Image [rancher/mirrored-coreos-etcd:v3.5.9] exists on host [192.168.100.121] 
INFO[0441] Starting container [etcd] on host [192.168.100.121], try #1 
INFO[0441] [etcd] Successfully started [etcd] container on host [192.168.100.121] 
INFO[0441] [etcd] Running rolling snapshot container [etcd-rolling-snapshots] on host [192.168.100.121] 
INFO[0441] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0441] Starting container [etcd-rolling-snapshots] on host [192.168.100.121], try #1 
INFO[0442] [etcd] Successfully started [etcd-rolling-snapshots] container on host [192.168.100.121] 
INFO[0447] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0447] Starting container [rke-bundle-cert] on host [192.168.100.121], try #1 
INFO[0448] [certificates] Successfully started [rke-bundle-cert] container on host [192.168.100.121] 
INFO[0448] Waiting for [rke-bundle-cert] container to exit on host [192.168.100.121] 
INFO[0448] Container [rke-bundle-cert] is still running on host [192.168.100.121]: stderr: [], stdout: [] 
INFO[0449] [certificates] successfully saved certificate bundle [/opt/rke/etcd-snapshots//pki.bundle.tar.gz] on host [192.168.100.121] 
INFO[0449] Removing container [rke-bundle-cert] on host [192.168.100.121], try #1 
INFO[0449] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0449] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0449] [etcd] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0449] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0449] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0449] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0449] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0449] [etcd] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0449] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0449] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0449] [etcd] Successfully started etcd plane.. Checking etcd cluster health 
INFO[0450] [etcd] etcd host [192.168.100.121] reported healthy=true 
INFO[0450] [controlplane] Building up Controller Plane.. 
INFO[0450] Finding container [service-sidekick] on host [192.168.100.121], try #1 
INFO[0450] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0450] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0450] Starting container [kube-apiserver] on host [192.168.100.121], try #1 
INFO[0450] [controlplane] Successfully started [kube-apiserver] container on host [192.168.100.121] 
INFO[0450] [healthcheck] Start Healthcheck on service [kube-apiserver] on host [192.168.100.121] 
INFO[0455] [healthcheck] service [kube-apiserver] on host [192.168.100.121] is healthy 
INFO[0455] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0455] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0456] [controlplane] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0456] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0456] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0456] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0456] Starting container [kube-controller-manager] on host [192.168.100.121], try #1 
INFO[0456] [controlplane] Successfully started [kube-controller-manager] container on host [192.168.100.121] 
INFO[0456] [healthcheck] Start Healthcheck on service [kube-controller-manager] on host [192.168.100.121] 
INFO[0461] [healthcheck] service [kube-controller-manager] on host [192.168.100.121] is healthy 
INFO[0461] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0461] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0461] [controlplane] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0461] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0461] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0461] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0461] Starting container [kube-scheduler] on host [192.168.100.121], try #1 
INFO[0462] [controlplane] Successfully started [kube-scheduler] container on host [192.168.100.121] 
INFO[0462] [healthcheck] Start Healthcheck on service [kube-scheduler] on host [192.168.100.121] 
INFO[0467] [healthcheck] service [kube-scheduler] on host [192.168.100.121] is healthy 
INFO[0467] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0467] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0467] [controlplane] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0467] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0467] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0467] [controlplane] Successfully started Controller Plane.. 
INFO[0467] [authz] Creating rke-job-deployer ServiceAccount 
INFO[0467] [authz] rke-job-deployer ServiceAccount created successfully 
INFO[0467] [authz] Creating system:node ClusterRoleBinding 
INFO[0467] [authz] system:node ClusterRoleBinding created successfully 
INFO[0467] [authz] Creating kube-apiserver proxy ClusterRole and ClusterRoleBinding 
INFO[0467] [authz] kube-apiserver proxy ClusterRole and ClusterRoleBinding created successfully 
INFO[0467] Successfully Deployed state file at [./cluster.rkestate] 
INFO[0467] [state] Saving full cluster state to Kubernetes 
INFO[0467] [state] Successfully Saved full cluster state to Kubernetes ConfigMap: full-cluster-state 
INFO[0467] [worker] Building up Worker Plane..          
INFO[0467] Finding container [service-sidekick] on host [192.168.100.121], try #1 
INFO[0467] [sidekick] Sidekick container already created on host [192.168.100.121] 
INFO[0467] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0467] Starting container [kubelet] on host [192.168.100.121], try #1 
INFO[0467] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0467] [worker] Successfully started [kubelet] container on host [192.168.100.121] 
INFO[0467] [healthcheck] Start Healthcheck on service [kubelet] on host [192.168.100.121] 
INFO[0467] Starting container [nginx-proxy] on host [192.168.100.122], try #1 
INFO[0467] [worker] Successfully started [nginx-proxy] container on host [192.168.100.122] 
INFO[0467] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0468] Starting container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0468] [worker] Successfully started [rke-log-linker] container on host [192.168.100.122] 
INFO[0468] Removing container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0469] [remove/rke-log-linker] Successfully removed container on host [192.168.100.122] 
INFO[0469] Finding container [service-sidekick] on host [192.168.100.122], try #1 
INFO[0469] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0469] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.122] 
INFO[0469] Starting container [kubelet] on host [192.168.100.122], try #1 
INFO[0469] [worker] Successfully started [kubelet] container on host [192.168.100.122] 
INFO[0469] [healthcheck] Start Healthcheck on service [kubelet] on host [192.168.100.122] 
INFO[0483] [healthcheck] service [kubelet] on host [192.168.100.121] is healthy 
INFO[0483] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0483] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0483] [worker] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0483] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0483] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0483] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.121] 
INFO[0483] Starting container [kube-proxy] on host [192.168.100.121], try #1 
INFO[0483] [worker] Successfully started [kube-proxy] container on host [192.168.100.121] 
INFO[0483] [healthcheck] Start Healthcheck on service [kube-proxy] on host [192.168.100.121] 
INFO[0484] [healthcheck] service [kubelet] on host [192.168.100.122] is healthy 
INFO[0484] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0485] Starting container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0485] [worker] Successfully started [rke-log-linker] container on host [192.168.100.122] 
INFO[0485] Removing container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0485] [remove/rke-log-linker] Successfully removed container on host [192.168.100.122] 
INFO[0485] Image [rancher/hyperkube:v1.25.16-rancher2] exists on host [192.168.100.122] 
INFO[0485] Starting container [kube-proxy] on host [192.168.100.122], try #1 
INFO[0485] [worker] Successfully started [kube-proxy] container on host [192.168.100.122] 
INFO[0485] [healthcheck] Start Healthcheck on service [kube-proxy] on host [192.168.100.122] 
INFO[0488] [healthcheck] service [kube-proxy] on host [192.168.100.121] is healthy 
INFO[0488] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0488] Starting container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0488] [worker] Successfully started [rke-log-linker] container on host [192.168.100.121] 
INFO[0488] Removing container [rke-log-linker] on host [192.168.100.121], try #1 
INFO[0489] [remove/rke-log-linker] Successfully removed container on host [192.168.100.121] 
INFO[0491] [healthcheck] service [kube-proxy] on host [192.168.100.122] is healthy 
INFO[0491] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0491] Starting container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0491] [worker] Successfully started [rke-log-linker] container on host [192.168.100.122] 
INFO[0491] Removing container [rke-log-linker] on host [192.168.100.122], try #1 
INFO[0491] [remove/rke-log-linker] Successfully removed container on host [192.168.100.122] 
INFO[0491] [worker] Successfully started Worker Plane.. 
INFO[0491] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.121] 
INFO[0491] Image [rancher/rke-tools:v0.1.96] exists on host [192.168.100.122] 
INFO[0491] Starting container [rke-log-cleaner] on host [192.168.100.121], try #1 
INFO[0491] Starting container [rke-log-cleaner] on host [192.168.100.122], try #1 
INFO[0491] [cleanup] Successfully started [rke-log-cleaner] container on host [192.168.100.121] 
INFO[0491] Removing container [rke-log-cleaner] on host [192.168.100.121], try #1 
INFO[0491] [cleanup] Successfully started [rke-log-cleaner] container on host [192.168.100.122] 
INFO[0491] Removing container [rke-log-cleaner] on host [192.168.100.122], try #1 
INFO[0491] [remove/rke-log-cleaner] Successfully removed container on host [192.168.100.122] 
INFO[0491] [remove/rke-log-cleaner] Successfully removed container on host [192.168.100.121] 
INFO[0491] [sync] Syncing nodes Labels and Taints       
INFO[0492] [sync] Successfully synced nodes Labels and Taints 
INFO[0492] [network] Setting up network plugin: calico  
INFO[0492] [addons] Saving ConfigMap for addon rke-network-plugin to Kubernetes 
INFO[0492] [addons] Successfully saved ConfigMap for addon rke-network-plugin to Kubernetes 
INFO[0492] [addons] Executing deploy job rke-network-plugin 
INFO[0502] [addons] Setting up coredns                  
INFO[0502] [addons] Saving ConfigMap for addon rke-coredns-addon to Kubernetes 
INFO[0502] [addons] Successfully saved ConfigMap for addon rke-coredns-addon to Kubernetes 
INFO[0502] [addons] Executing deploy job rke-coredns-addon 
INFO[0512] [addons] CoreDNS deployed successfully       
INFO[0512] [dns] DNS provider coredns deployed successfully 
INFO[0512] [addons] Setting up Metrics Server           
INFO[0512] [addons] Saving ConfigMap for addon rke-metrics-addon to Kubernetes 
INFO[0512] [addons] Successfully saved ConfigMap for addon rke-metrics-addon to Kubernetes 
INFO[0512] [addons] Executing deploy job rke-metrics-addon 
INFO[0517] [addons] Metrics Server deployed successfully 
INFO[0517] [ingress] Setting up nginx ingress controller 
INFO[0517] [ingress] removing admission batch jobs if they exist 
INFO[0517] [addons] Saving ConfigMap for addon rke-ingress-controller to Kubernetes 
INFO[0517] [addons] Successfully saved ConfigMap for addon rke-ingress-controller to Kubernetes 
INFO[0517] [addons] Executing deploy job rke-ingress-controller 
INFO[0527] [ingress] removing default backend service and deployment if they exist 
INFO[0527] [ingress] ingress controller nginx deployed successfully 
INFO[0527] [addons] Setting up user addons              
INFO[0527] [addons] no user addons defined              
INFO[0527] Finished building Kubernetes cluster successfully 

安装kubectl 命令

curl -LO "https://dl.k8s.io/release/v1.25.16/bin/linux/amd64/kubectl"

chmod +x kubectl

mv kubectl /usr/local/bin/

配置集群config,让 kubectl 能连接你的集群

RKE 部署完后,会生成一个配置文件:

/home/rke/kube_config_cluster.yml

你必须把它放到 kubectl 默认读取的位置:

mkdir -p ~/.kube

cp /home/rke/kube_config_cluster.yml ~/.kube/config

chmod 600 ~/.kube/config

测试

查看各组件状态

master节点

worker节点

七、 其余扩展

RKE 常用命令

bash 复制代码
rke -h
NAME:
   rke - Rancher Kubernetes Engine, an extremely simple, lightning fast Kubernetes installer that works everywhere
 
USAGE:
   rke [global options] command [command options] [arguments...]
 
VERSION:
   v1.5.9
 
AUTHOR:
   Rancher Labs, Inc.
 
COMMANDS:
   up       Bring the cluster up
   remove   Teardown the cluster and clean cluster nodes
   version  Show cluster Kubernetes version
   config   Setup cluster configuration
   etcd     etcd snapshot save/restore operations in k8s cluster
   cert     Certificates management for RKE cluster
   encrypt  Manage cluster encryption provider keys
   util     Various utilities to retrieve cluster related files and troubleshoot
   help, h  Shows a list of commands or help for one command
 
GLOBAL OPTIONS:
   --debug, -d    Debug logging
   --quiet, -q    Quiet mode, disables logging and only critical output will be printed
   --trace        Trace logging
   --help, -h     show help
   --version, -v  print the version

查看集群版本

rke version

生成配置(交互方式)

rke config --name cluster.yml

生成配置(空模版)

rke config --name cluster.yml --empty

清理集群,可选参数:--config 指定配置,--force 强制清理

rke remove

八 、总结

相对于二进制安装,及kubeadm安装方式,确实大大简化了安装流程。但后续具体高可用的配置调整改造,和 维护方式需要后续自行总结了。

相关推荐
运维开发故事2 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生4 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美5 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
2601_9618752412 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj12 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes