-
istio + k8s 如何增加节点和删除节点?
- 2023-03-28 18:23
-
字数 390
- 阅读 47
在使用 istio + k8s 集群时,可能需要增加或删除节点,这对于版本平滑升级来说非常重要。那么,在 istio + k8s 环境下是如何处理的呢?答案其实很简单,就是普通的 k8s 节点处理即可。
一、删除节点
如果需要在k8s集群中删除节点,首先需要在master节点上删除该节点的相关数据,再删除该节点,接着在该节点上进行 reset 操作,接着删除相关文件。
1.1 在 master 节点操作
# 其中< node name >是在k8s集群中使用< kubectl get nodes >查询到的节点名称 kubectl drain <node name> --delete-emptydir-data --force --ignore-daemonsets kubectl delete node <node name>
1.2 在需要删除的节点上
# 重置k8s sudo kubeadm reset
二、增加节点
一般来说在 k8s 集群初始化完成的时候,会输出一条 token 来让我们添加其他的节点,但是这个 token 的有效时间只有24小时。
2.1 查询token
kubeadm token list
2.2 创建一个token
kubeadm token create
2.3 创建证书
除了token之外,我们还需要一个sha256的加密字符串,这个我们可以这样获得:
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
2.4 添加节点
接下来我们就可以把node节点添加到集群中了,命令的格式如下:
kubeadm join <集群master节点IP:端口> --token <token> --discovery-token-ca-cert-hash sha256:<sha256>
对应的操作命令如下:
kubeadm join 192.168.20.100:6443 --token duinff.mca0i3mnigoeyf4o \ --discovery-token-ca-cert-hash sha256:e3bcbc9e93daf2c2b280516a2982086843f5c650ccbc8bd6d76131b219b64d6b