Kubernetes固定节点调度

  • A+
所属分类:Kubernetes 容器技术

Kubernetes中label是一个非常重要的概念,用户可以通过label来管理集群中的资源,比如常见的service就是通过label去匹配Pod资源,而Pod的调度也可以根据节点的label继续调度

node节点labels

增加node节点label

kubectl label node node01 name=lyl

修改node节点label

kubectl label node node01 name=lyl02 --overwrite

查看node节点label

kubectl get node --show-labels

删除node节点label(指定Label的key名并与一个减号相连)

kubectl label node node01 name-

强制匹配nodeName

Pod.spec.nodeName 将 Pod 直接调度到指定的 Node 节点上,会跳过 Scheduler 的调度策略,该匹配规则是强制匹配

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myweb
spec:
  replicas: 7
  selector:
    matchLabels:
        app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      nodeName: k8s-node01
      containers:
      - name: myweb
        image: hub.hlc.com/library/myapp:v1
        ports:
        - containerPort: 80

约束匹配nodeSelector

Pod.spec.nodeSelector:通过 kubernetes 的 label-selector 机制选择节点,由调度器调度策略匹配 label,而后调度 Pod 到目标节点,该匹配规则属于强制约束

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myweb
spec:
  replicas: 2
  selector:
    matchLabels:
        app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      nodeSelector:
        disk: ssd
      containers:
      - name: myweb
        image: hub.hlc.com/library/myapp:v1
        ports:
        - containerPort: 80



YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: