• Kubernetes集群节点维护


    按照kubernetse设计原则,node节点只运行程序,由kubelet采集和提交数据与kube-apiserver交互更新,最终数据落入etcd中

    由于node节点存在异常,需要
    1. 将异常node节点打污点标记,防止再被调度
    2. 异常节点node上的pod驱逐(若有)
    3. 异常node节点维护(更新程序、重启等)
    4. 取消异常node节点的五点标签
    
    # 服务中断时间=停机等待5分钟时间+重建时间+服务启动时间+readiness探针检测正常时间
    
    # 集群健康检查
    kubectl get cs
    kubectl get node -owide
    kubectl get pod -A | grep -v Running
    
    # 命令查询
    kubectl taint nodes node1 key1=value1:NoSchedule    #设置node1节点不可调度
    kubectl taint nodes node1 key1=value1:NoSchedule-   #设置node1节点可调度
    
    # NoSchedule: 一定不能被调度
    # PreferNoSchedule: 尽量不要调度
    # NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod
    
    # 将 node 节点标记为不可调度,不影响现有 pod,daemonSet 不受影响
    kubectl cordon node-name
    
    # 驱逐该节点的 pod
    kubectl drain node-name
    
    # 驱逐pod,同时为node加上污点标签
    kubectl drain node --ignore-daemonsets
    
    --delete-local-data  # 删除本地数据,清空emptyDir
    --ignore-daemonsets  # 忽略DeamonSet
    --force              # 不加force参数只会删除该node节点上的ReplicationController, ReplicaSet, DaemonSet,StatefulSet or Job,加上后所有pod都将删除
    
    # 维护结束,节点重新投入使用
    kubectl uncordon node-name
    
    # 删除节点
    kubectl delete node node-name
    
  • 相关阅读:
    hdoj5327【前缀和思想】
    codeforces 611C
    codeforces 632C
    poj1163 【记忆化搜索·水】
    2016 Multi-University Training Contest 2 A Acperience
    细剖最短路【闲谈,权当是饭后杂文】
    poj1724【最短路】
    [YY题]HDOJ5288 OO’s Sequence
    Codeforces Round #363 (Div. 2) C. Vacations
    POJ2105【进制转化】
  • 原文地址:https://www.cnblogs.com/firewalld/p/15271584.html
Copyright © 2020-2023  润新知