新增 Linux 工作節點

本頁說明如何將 Linux 工作節點新增至 kubeadm 叢集。

開始之前

新增 Linux 工作節點

若要將新的 Linux 工作節點新增至叢集,請針對每部機器執行下列動作

  1. 使用 SSH 或其他方法連線至機器。
  2. 執行 kubeadm init 輸出的命令。例如
sudo kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>

kubeadm join 的其他資訊

如果您沒有 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)。

下一步

上次修改時間:2024 年 9 月 13 日下午 4:59 PST:Reorganize kubeadm node tasks (c8bb00db5d)