Kubernetes Node Selector

1144 ワード

kubernetesクラスタスケジューラにpodリソースのノードを自動的に選択させるほか(デフォルトのスケジューリングではリソースが十分であり、loadができるだけ平均化されることを考慮)、podがどのようにスケジューリングされるかをより多く制御したい場合があります.例えば、クラスタの中には、より良い構成(SSD、より良いメモリなど)のマシンもあります.コアのサービス(データベースなど)を実行したいと思っています.あるいは、ある2つのサービスのネットワーク伝送が頻繁で、同じ機械にいるか、同じ機械室にいるほうがいいと思います.
1、nodeが追加したlabelを表示する
kubectl get node --show-labels

2、storageタグによってPodをスケジューリングする
#  label
kubectl label node master storagetype=ssd
#  label
kubectl label node master storagetype-

k 8 s-slave storage=ssdのラベルを追加しpodを作成し、slaveノードにスケジュールする
#    
kubectl label node k8s-slave storage=ssd

#  podyaml:node-label.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
  nodeSelector:
    storage: ssd
    
#  Pod
kubectl create -f node-albel.yaml

#      
kubectl describe pod nginx
	Normal  Scheduled              11s   default-scheduler   Successfully assigned nginx to k8s-slave

#  label       
	Warning  FailedScheduling       30s (x6 over 45s)  default-scheduler   0/2 nodes are available: 2 MatchNodeSelector.