• istio + k8s 如何增加节点和删除节点?

    • 2023-03-28 18:23
    • 字数 390
    • 阅读 398

    在使用 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	
back_to_top