Kubernetes集群调度介绍
指定pod运行在固定节点
指定固定节点:Pod.spec.nodeName
在yaml文件中的spec中通过nodeName来指定node的节点
在yaml文件中指定节点pod
apiVersion: apps/v1 kind: Deployment metadata: name: myweb spec: selector: matchLabels: app: myweb replicas: 6 template: metadata: labels: app: myweb spec: nodeName: node-1 containers: - name: myweb image: docker.io/nginx ports: - containerPort: 80
指定固定节点标签:Pod.spec.nodeSelector
在yaml文件中通过标签(nodeSelector)去指定node节点去创建pod
可以先对需要的node节点进行标签的创建:
kubectl label node 192.168.8.203 myclass=yun4
查看标签:
kubectl get node --show-labels
删除标签:
kubectl label node 192.168.8.202 myclass-
配置文件如下:
apiVersion: apps/v1 kind: Deployment metadata: name: myweb spec: selector: matchLabels: app: myweb replicas: 4 template: metadata: labels: app: myweb spec: nodeSelector: cname: zutuanxue containers: - name: myweb image: docker.io/nginx ports: - containerPort: 80
Kubernetes污点和容忍度
污点
定义在节点上,用于拒绝Pod调度到此节点,除非该Pod具有该节点上的污点容忍度
容忍度
定义在pod上,主要是在yaml文件中,用于配置Pod可容忍的节点污点,K8S调度器只能将Pod调度到该Pod能够容忍的污点的节点上。