部署其他节点

其他节点同样地安装 docker-cekubeadm, 并执行 kubeadm join (k8s-masterkubeadm init 正确初始化后可以看到) 即可加入到 k8s-master 所在的集群中

node 节点加入

kubeadm join 192.168.1.128:6443 --token xmjhe9.vfhu0lt3a4cf8xnb --discovery-token-ca-cert-hash sha256:9b39f76a0eddd78c3ffa193b16ae579763f4e99f3301b53aaab1b39386dd0851

其中 token 是创建的时候生成的, 如果忘记了 token, 可以使用以下命令找回:

$ kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
x98t7l.u0xh25qeuxcvkgi2   23h       2019-08-15T21:46:52+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token

在 k8s-master 节点查看部署情况

$ ksys get nodes
NAME         STATUS   ROLES    AGE     VERSION
k8s-master1   Ready    master   75d    v1.14.2
k8s-node1     Ready    <none>   75d    v1.14.2
k8s-node2     Ready    <none>   75d    v1.14.2
k8s-node3     Ready    <none>   75d    v1.14.2
k8s-node4     Ready    <none>   75d    v1.14.2

token 过期后重新生成

如果后期有更多节点加入, token 可能会过期, 通过以下方式重新生成 token 即可

$ kubeadm token create
[kubeadm] WARNING: starting in 1.8, tokens expire after 24 hours by default (if you require a non-expiring token use --ttl 0)
aa78f6.8b4cafc8ed26c34f
$ kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION   EXTRA GROUPS
aa78f6.8b4cafc8ed26c34f   23h       2017-12-26T16:36:29+08:00   authentication,signing   <none>        system:bootstrappers:kubeadm:default-node-token

获取 ca 证书 sha256 编码 hash 值

$ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
0fd95a9bc67a7bf0ef42da968a0d55d92e52898ec37c971bd77ee501d845b538

之后使用 kubeadm join 的时候带上最新的 token 和 ca 证书即可

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress