zoukankan      html  css  js  c++  java
  • 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、声明:如有侵权,请联系删除。
    ============================= 升职加薪 ==========================
  • 相关阅读:
    PHP数组(数组正则表达式、数组、预定义数组)
    面向对象。OOP三大特征:封装,继承,多态。 这个讲的是【封存】
    uvalive 3938 "Ray, Pass me the dishes!" 线段树 区间合并
    LA4329 Ping pong 树状数组
    HDU 1257 最少拦截系统
    HDU 1260 Tickets
    codeforce 621D
    codeforce 621C Wet Shark and Flowers
    codeforce 621B Wet Shark and Bishops
    codeforce 621A Wet Shark and Odd and Even
  • 原文地址:https://www.cnblogs.com/uncleyong/p/15789144.html
Copyright © 2011-2022 走看看