最近Kubernetes集群的负载很高,为了减轻负载压力,打算新增节点进行集群扩容,具体方法如下。
- 新节点准备工作参考这篇文章Kubernetes-离线部署Kubernetes 1.9.0,按照说明步骤执行到设置kubelet开机启动。
- 将新节点加入集群,命令如下
kubeadm join --token [TOKEN] 10.3.14.193:6443 --discovery-token-ca-cert-hash sha256:[SHA256]
这里有两个参数,一个是TOKEN,一个是Kubernetes认证的SHA256加密字符串,TOKEN可以通过如下命令查看
kubeadm token list
每个token只有24小时的有效期,如果没有有效的token,可以使用如下命令创建
kubeadm token create
token创建出来了,那么还有一个问题,我怎么知道Kubernetes认证的SHA256加密字符串是多少,这里可以使用这个命令查看到
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
然后就可以使用上面的命令将新节点加入集群了
最后使用如下命令就可以查看集群内所有节点了
kubectl get nodes
但是现在如果在新加的节点上执行kubectl命令,会出现错误【The connection to the server localhost:8080 was refused - did you specify the right host or port?】,请参考Kubernetes-kubectl命令出现错误【The connection to the server localhost:8080 was refused - did you specify the right host or port?】解决,设置完成后就可以正常使用了。
enjoy!!!