新增 Linux worker 節點
此頁面介紹瞭如何向 kubeadm 叢集新增 Linux 工作節點。
準備工作
- 每個加入的工作節點都已安裝了 安裝 kubeadm 中所需的元件,例如 kubeadm、kubelet 和容器執行時。
- 一個由
kubeadm init
建立並按照文件 使用 kubeadm 建立叢集 中的步驟執行的 kubeadm 叢集。 - 你需要節點的超級使用者許可權。
新增 Linux worker 節點
要向叢集新增新的 Linux 工作節點,請對每臺機器執行以下操作:
- 使用 SSH 或其他方法連線到機器。
- 執行
kubeadm init
輸出的命令。例如:
sudo kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
kubeadm join 的附加資訊
注意
要為<control-plane-host>:<control-plane-port>
指定 IPv6 元組,IPv6 地址必須用方括號括起來,例如:[2001:db8::101]:2073
。如果你沒有令牌,可以在控制平面節點上執行以下命令獲取:
# Run this on a control plane node
sudo kubeadm token list
輸出類似於:
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
8ewj1p.9r9hcjoqgajrj4gi 23h 2018-06-12T02:51:28Z authentication, The default bootstrap system:
signing token generated by bootstrappers:
'kubeadm init'. kubeadm:
default-node-token
預設情況下,節點加入令牌在 24 小時後過期。如果你在當前令牌過期後將節點加入叢集,可以在控制平面節點上執行以下命令建立一個新令牌:
# Run this on a control plane node
sudo kubeadm token create
輸出類似於:
5didvk.d09sbcov8ph2amjw
要列印一個 kubeadm join 命令,同時生成一個新令牌,你可以使用:
sudo kubeadm token create --print-join-command
如果你沒有 --discovery-token-ca-cert-hash
的值,可以在控制平面節點上執行以下命令獲取:
# Run this on a control plane node
sudo cat /etc/kubernetes/pki/ca.crt | openssl x509 -pubkey | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
輸出類似於:
8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78
kubeadm join
命令的輸出應該類似於:
[preflight] Running pre-flight checks
... (log output of join workflow) ...
Node join complete:
* Certificate signing request sent to control-plane and response
received.
* Kubelet informed of new secure connection details.
Run 'kubectl get nodes' on control-plane to see this machine join.
幾秒鐘後,你應該在 kubectl get nodes
的輸出中看到此節點。(例如,在控制平面節點上執行 kubectl
)。
注意
由於叢集節點通常是按順序初始化的,CoreDNS Pods 很可能都執行在第一個控制平面節點上。為了提供更高的可用性,請在至少一個新節點加入後,使用kubectl -n kube-system rollout restart deployment coredns
命令重新平衡 CoreDNS Pods。下一步
- 檢視如何新增 Windows 工作節點。
上次修改時間:2025 年 8 月 23 日晚上 9:50 PST:chore(kubeadm):改進 add-linux-nodes 文件 (050a7273c6)