新增 Linux 工作節點
本頁說明如何將 Linux 工作節點新增至 kubeadm 叢集。
開始之前
- 每個加入的工作節點都已從安裝 kubeadm 安裝了必要的元件,例如 kubeadm、kubelet 和容器執行期。
- 由
kubeadm init
建立並遵循文件 使用 kubeadm 建立叢集 中的步驟執行的 kubeadm 叢集。 - 您需要節點的超級使用者存取權。
新增 Linux 工作節點
若要將新的 Linux 工作節點新增至叢集,請針對每部機器執行下列動作
- 使用 SSH 或其他方法連線至機器。
- 執行
kubeadm init
輸出的命令。例如
sudo kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
kubeadm join 的其他資訊
注意
若要為<控制平面主機>:<控制平面連接埠>
指定 IPv6 tuple,IPv6 位址必須以方括號括住,例如:[2001:db8::101]:2073
。如果您沒有 Token,您可以透過在控制平面節點上執行下列命令來取得
# 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
依預設,節點加入 Token 在 24 小時後過期。如果您在目前的 Token 過期後將節點加入叢集,您可以透過在控制平面節點上執行下列命令來建立新的 Token
# Run this on a control plane node
sudo kubeadm token create
輸出類似於此
5didvk.d09sbcov8ph2amjw
如果您沒有 --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 Pod 可能全部在第一個控制平面節點上執行。為了提供更高的可用性,請在至少一個新節點加入後,使用kubectl -n kube-system rollout restart deployment coredns
重新平衡 CoreDNS Pod。下一步
- 請參閱如何新增 Windows 工作節點。
上次修改時間:2024 年 9 月 13 日下午 4:59 PST:Reorganize kubeadm node tasks (c8bb00db5d)