• k8s运维管理


    node管理
    node隔离与恢复
    1.使用patch命令

    #实现node隔离调度
    kubectl patch node node1 -p '{"spec":{"unschedulable":true}}'
    #节点信息多了一项SchedulingDisabled
    node1    Ready,SchedulingDisabled   <none>   7d3h   v1.18.20
    #解除
    kubectl patch node node1 -p '{"spec":{"unschedulable":false}}'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.使用cordon

    #隔离
    kubectl cordon node1
    #恢复
    kubectl uncordon node1
    
    • 1
    • 2
    • 3
    • 4

    以上两种方法只会让节点脱离调度 不会停止运行的pod 需要手动停止
    3.使用drain
    首先会让节点脱离调度 然后会删除节点所有运行的pod,如果强制删除deployment之类的控制器 会在其他节点创建pod

    #脱离调度
    kubectl drain node1 --ignore-daemonsets
    #参数
    --force 当一些pod不是经 ReplicationController, ReplicaSet, Job, DaemonSet 或者 
    StatefulSet 管理的时候就需要用--force来强制执行 (例如:kube-proxy)
    --ignore-daemonsets 无视DaemonSet管理下的Pod。即--ignore-daemonsets往往需要指定的,这是
    因为deamonset会忽略unschedulable标签(使用kubectl drain时会自动给节点打上不可调度标签),
    因此deamonset控制器控制的pod被删除后可能马上又在此节点上启动起来,这样就会成为死循环.因此
    这里忽略daemonset。
    --delete-local-data 如果有mount local volumn的pod,会强制杀掉该pod。
    
    #恢复
    kubectl uncordon node1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    集群环境隔离
    使用namespace 与 context 对不通工作组进行区分 互相不打扰 防止误操作
    1,创建两个namespace

    #dev
    kubectl create namespace dev
    #prod
    kubectl create namespace prod
    
    • 1
    • 2
    • 3
    • 4

    2,定义contest 即运行环境 这个运行环境将属于某一个命名空间
    可以使用命令方式创建 也可以修改kubectl的配置文件 .kube/config来配置

    #绑定dev空间
    kubectl config set-context ctx-dev --namespace=dev --cluster=kubernetes --user=kubernetes-admin
    #绑定prod空间
    kubectl config set-context ctx-prod --namespace=prod --cluster=kubernetes --user=kubernetes-admin
    #查看配置
    kubectl config view
    #把当前运行环境设置为dev 就只能在dev里执行命令
    kubectl config use-context ctx-dev
    #切换回默认之前默认的空间
    kubectl config use-context kubernetes-admin@kubernetes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    配置服务器实现无缝连接
    C#面试题目含参考答案(四)
    Android 内存泄漏
    P1226 【模板】快速幂||取余运算
    付费上班,你听说过吗?
    CAS号:60535-02-6,二肽Met-Trp
    Spring之Bean的初始化和销毁
    如何给图数据库 NebulaGraph 新增一种数据类型,以 Binary 为例
    android recyclerView緩存數量 recycleview的缓存
    计算机视觉系列 -OpenMMLab 之 MMRazor 模型轻量化瑞士军刀 蒸馏、剪枝、网络结构搜索全方向覆盖
  • 原文地址:https://blog.csdn.net/ltgsoldier1/article/details/134496784