k8s-pod选择node节点

1. node节点label管理

1.1 给节点加label

  • 语法:
    # kubectl label node Node_Name Key=Value
  • 示例
# kubectl label node gpu3 gpu-use=true

1.2 查看label

  • 语法
    Kubectl get node gpu3 --show-labels
    在这里插入图片描述

1.3 修改label

  • 语法
    kubectl label node Node_Name Key=Value –overwrite

说明:添加label命令加上 --overwrite参数

  • 示例
 kubectl label node gpu3 gpu-use=true --overwrite

1.4 删除lable

  • 语法
    kubectl label node Node_Name Key-

说明:删除一个key,只需把key的后边加一个减号即可

  • 示例
# kubectl label node gpu3 gpu_use-

2 pod选择node节点

说明:pod根据node的label选择节点

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: nvidia-device-plugin-daemonset
  namespace: kube-system
spec:
  template:
    metadata:
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ""
      labels:
        name: nvidia-device-plugin-ds
    spec:
      tolerations:
      - key: CriticalAddonsOnly
        operator: Exists
     #添加如下两行
      nodeSelector:
        gpu-use: "true"
      containers:
      - image: nvidia/k8s-device-plugin:1.11
        name: nvidia-device-plugin-ctr
        securityContext:
          capabilities:
            drop: ["ALL"]
        volumeMounts:
          - name: device-plugin
            mountPath: /var/lib/kubelet/device-plugins
      volumes:
        - name: device-plugin
          hostPath:
            path: /var/lib/kubelet/device-plugins

在这里插入图片描述

posted on 2021-08-14 13:28  运维开发玄德公  阅读(30)  评论(0编辑  收藏  举报  来源

导航