添加 Linux worker 节点

此页面介绍了如何向 kubeadm 集群添加 Linux 工作节点。

准备工作

添加 Linux worker 节点

要向集群添加新的 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 的附加信息

如果你没有令牌,可以在控制平面节点上运行以下命令获取:

# 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)。

下一步

上次修改时间:2025 年 8 月 23 日晚上 9:50 PST:chore(kubeadm):改进 add-linux-nodes 文档 (050a7273c6)