RKE2 快速上手指南(Quick Start)
介紹
RKE2(Rancher Kubernetes Engine 2)是 Rancher 發布的企業級 Kubernetes 發行版,具備高安全性、簡化安裝、預設整合 containerd、內建 CIS Hardening、以及可取代 RKE1 的下一代架構。
範例實驗環境
若要快速演示 RKE2,可先在虛擬化平台(如 VMware Workstation、VirtualBox、UTM 等)建立兩台 VM,並設定在同一個 L2 網段:
| 節點 | 角色 | IP | 建議規格 |
|---|---|---|---|
| node-1 | RKE2 Server / Control Plane | 192.168.1.10 | 2 vCPU、4GB RAM、40GB Disk |
| node-2 | RKE2 Agent / Worker | 192.168.1.20 | 2 vCPU、4GB RAM、40GB Disk |
小提醒:可在 hypervisor 內直接指定靜態 IP,或於第一次開機後在作業系統層設定
netplan/ifcfg,確保伺服器重啟後 IP 不會變動。
待 node-1 完成 RKE2 Server 安裝與初始化後,記得保留 /var/lib/rancher/rke2/server/node-token 供 node-2 加入叢集使用。
系統需求
最低硬體需求
| 類型 | 需求 |
|---|---|
| CPU | 2 核以上 |
| RAM | 4GB 以上 |
| Disk | 20GB 以上(建議 SSD) |
必要 Ports(單節點)
| Port | 用途 |
|---|---|
| 6443 | Kubernetes API |
| 9345 | Supervisor(節點加入) |
| 10250 | Kubelet |
| 8472/UDP | VXLAN(Canal CNI) |
第一步:安裝 RKE2 Server
1. 安裝 RKE2
curl -sL https://get.rke2.io | sh
2. 啟用並啟動服務
systemctl enable rke2-server.service
systemctl start rke2-server.service
3. 檢查服務狀態
journalctl -u rke2-server -f
第二步:設定 kubectl
取得 kubeconfig
mkdir -p ~/.kube
sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
建立 symlink(非必需,但建議)
sudo ln -s /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/kubectl
第三步:驗證 Kubernetes
查看節點狀態
kubectl get nodes -o wide
查看系統 Pod
kubectl get pods -A
第四步:安裝 RKE2 Agent 並加入叢集
以下以第二台節點 node-2(Worker)加入 node-1 所建立的叢集為例。
1. 在 Server 節點取得 node-token
在 node-1(Server)上執行:
sudo cat /var/lib/rancher/rke2/server/node-token
請將輸出內容記錄下來(例如:K10b7f...::server:...),稍後在 Agent 節點會用到。
2. 在 Agent 節點安裝 RKE2
登入 node-2 後執行:
curl -sL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh
INSTALL_RKE2_TYPE="agent"表示安裝的是 Worker/Agent 角色。
3. 設定 Agent 連線參數
建立 Agent 設定檔 /etc/rancher/rke2/config.yaml(若目錄不存在請先建立):
sudo mkdir -p /etc/rancher/rke2
sudo nano /etc/rancher/rke2/config.yaml
內容範例(請依實際環境修改):
server: https://192.168.1.10:9345
token: "在這裡貼上剛剛在 node-1 取得的 node-token"
node-name: node-2
說明:
server:指向 RKE2 Server 的 Supervisor 位址與 Port(預設 9345)。token:必須與 Server 節點/var/lib/rancher/rke2/server/node-token一致。node-name:在 Kubernetes 叢集中顯示的節點名稱。
4. 啟用並啟動 RKE2 Agent 服務
sudo systemctl enable rke2-agent.service
sudo systemctl start rke2-agent.service
可用以下指令觀察啟動與註冊過程:
sudo journalctl -u rke2-agent -f
當看到節點成功註冊且沒有異常錯誤訊息,即代表 Agent 已經加入叢集。
5. 回到 Server 節點驗證
回到 node-1,使用 kubectl 檢查節點狀態:
kubectl get nodes -o wide
你應該會看到類似輸出:
NAME STATUS ROLES AGE VERSION
node-1 Ready control-plane,master 10m v1.xx.x
node-2 Ready <none> 1m v1.xx.x
當 node-2 的 STATUS 為 Ready,表示 RKE2 Agent 已成功安裝並加入叢集。