zoukankan      html  css  js  c++  java
  • centos7下kubernetes(9。kubernetes中用label控制pod得位置)

    Kubernetes通过label实现将pod运行在指定得node上。

    默认配置下,Schesuler将pod调度到所有可用得node,有时候我们希望将pod部署到指定得node,比如将有大量磁盘I/O得pod部署到配置了SSD得node;或者pod需要GPU,需要运行在配置了GPU得节点上

    label是key-value对,各种资源都可以设置label,灵活添加各种自定义得属性;

    可以执行如下命令设置node得label

    kubectl label node k8snode2  disktype=ssd

    通过  kubectl get node --show-labels   查看node得label

    node有了distktype得自定义label,接下来就可以将pod部署到K8S-node1,编辑nginx.yml

    在pod模板的spec里通过nodeSelector指定将此pod部署到具有label disktype=ssd的node上。

    重新部署deployment,并查看pod

    pod已经按照预期运行在node2上面了

    如果要删除node上的label,执行如下命令

    kubectl label node k8snode2 disktype-

    但是如果在部署deployment,pod依然会运行在node2上面,需要在nginx1.yml中将

     nodeSelector:
            disktype: ssd

    删除,然后再通过kubectl apply -f进行重新部署,K8s会将原来的pod删除并调度和运行新的pod

  • 相关阅读:
    学习C#泛型
    css半透明渐变过渡效果
    CSS Grid布局
    CSS writing-mode属性
    单点登录原理与简单实现
    linux磁盘挂载
    Fiddler抓包工具学习
    javascript事件机制之冒泡、捕获、传播、委托
    HTML行内元素、块状元素、行内块状元素的区别
    console.log详细介绍
  • 原文地址:https://www.cnblogs.com/lkun/p/9717735.html
Copyright © 2011-2022 走看看