基于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安装方式,确实大大简化了安装流程。但后续具体高可用的配置调整改造,和 维护方式需要后续自行总结了。

相关推荐
Cat_Rocky4 小时前
通过k8s实现单pod部署
java·容器·kubernetes
运维全栈笔记4 小时前
K8S部署WordPress+MySQL:模块化YAML配置详解
服务器·mysql·docker·云原生·容器·kubernetes·服务发现
眷蓝天5 小时前
k8s-pod资源对象实验
云原生·容器·kubernetes·pod资源对象
木雷坞5 小时前
Physical AI 数据工厂怎么落地?先把 CUDA、K8s、Quay 镜像拉取稳定下来
人工智能·容器·kubernetes
剩下了什么7 小时前
docker-compose up -d --build 和 docker-compose up -d 和 docker-compose build 区别
docker·容器·eureka
两点王爷7 小时前
使用命令行备份/还原docker运行的数据库 (MySQL、PostgreSQL)
mysql·docker·容器
张青贤8 小时前
Docker Remote 未授权访问漏洞修复方法
运维·docker·容器
小夏子_riotous8 小时前
Docker学习路径——10、Docker Compose 一站式编排:从入门到生产级部署
linux·运维·服务器·docker·容器·centos·云计算
smallcelebration8 小时前
132 docker入门学习
学习·docker·容器