• k8s节点简介、移除节点、新增节点


    简介

    Node是Pod真正运行的主机,可以是物理机也可以是虚拟机。

    Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源。

    为了管理Pod,每个Node节点上至少需要运行container runtime(Docker)、kubelet和kube-proxy服务。

    node基本操作:kubectl get nodes,查询所有node

    从k8s移除node节点

    获取节点列表:kubectl get node

    确认需要移除的节点上面没有部署我们所需要的资源:kubectl get pod -A -owide |grep "k8s-node02"

    设置不可调度(不分配新的资源到该节点上),也就是下线:kubectl cordon k8s-node02

    (另外,上线:kubectl uncordon k8s-node02)

    检查节点状态,kubectl get nodes

    被标记为不可调度节点,节点状态变成:Ready,SchedulingDisabled

    驱逐节点上的Pod(先驱赶掉上面的pod,daemonset不会被排出节点,其它的pod自动转移到其它节点;drain意为排出,此时卸载节点,但是没有删除;drain命令会自动把node设置为不可调度,所以可以省略上面执行的cordon命令)

    驱逐前,在k8s-node02上

    kubectl drain k8s-node02 --delete-local-data --force --ignore-daemonsets

    驱逐后,自动转移到k8s-node01上了

    节点上pod都被驱逐后,可以直接移除节点:kubectl delete node k8s-node02

    这样就平滑移除了一个 k8s 节点

    在被删除的node节点中清空集群数据信息【被删除节点执行】:

    清空前:

    kubeadm reset -f

    清空后:

    k8s新增node节点

    新的node需要安装docker和k8s基础组件,参考:https://www.cnblogs.com/uncleyong/p/15499732.html

    在master节点查看集群的token值,其中TTL值默认token的有效期为24小时,当过期之后,该token就不可用了。

    kubeadm token list

    上面结果为空,说明过期了,可以master上重新生产token并获取hash值:kubeadm token create --print-join-command

    kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249
    

    生成永久Token:kubeadm token create --ttl 0 --print-join-command

    kubeadm token list

    获取Token:kubeadm token list | awk -F" " '{print $1}' |tail -n 1

    将node节点重新添加到k8s集群中【被添加节点执行】

    kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249

    master查看新节点的是否加入,如果新加节点是NotReady状态,重启kubelet后就变成Ready了(systemctl restart kubelet)

    kubectl get nodes【master执行】

    kubectl get pods -n kube-system -owide【master执行】

    验证:调度到指定节点,nodeName: k8s-node02

    curl 172.27.14.193

    彻底删除:https://www.cnblogs.com/uncleyong/p/15789371.html

    ============================= 提升自己 ==========================
    > > > 1、咨询交流,请加微信,备注来意: ren168632201
    > > > 2、【性能测试实战】jmeter+k8s+微服务+skywalking+efk,测试都在学的热门技术: https://www.cnblogs.com/uncleyong/p/15475614.html
    > > > 3、【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划: https://www.cnblogs.com/uncleyong/p/15777706.html
    > > > 4、【全栈测试题库】常见测试笔试题、面试题汇总(持续更新中。。。): https://www.cnblogs.com/uncleyong/p/11119489.html
    > > > 5、测试基础汇总: https://www.cnblogs.com/uncleyong/p/10530261.html
    > > > 6、声明:如有侵权,请联系删除。
    ============================= 升职加薪 ==========================
  • 相关阅读:
    jQuery插件开发的模式和结构
    jQuery插件开发详细教程
    一个JavaScript Function Outliner插件 第三个版本 让你的JavaScript代码也支持折叠
    web开发过程中经常用到的一些公共方法及操作
    C#操作注册表
    EventBus使用详解(一)——初步使用EventBus
    android xml布局文件中tools:layout的作用
    调用android系统相机拍照并保存
    Android组件间通信库EventBus学习
    网络通信框架Volley使用详细说明
  • 原文地址:https://www.cnblogs.com/uncleyong/p/15789144.html
Copyright © 2020-2023  润新知