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