k8sのマルチクラスターでdescheduleを動かしたが、クラスター間でリソース再配置されません。
環境
Google Kubernetes Engine
クラスターを2つ作成、それぞれNodeを3つ作成
- cluster-1
- cluster-2
やりたいこと
descheduleをcluster-1, cluster-2にデプロイして、クラスターを横断してリソース再配置をしたい。
発生した問題
cluster-1に配置されているリソースがcluster-2に再配置されない。
やったこと
レプリカ数12でcpuいっぱい使うDeploymentをcluster-1にデプロイした。
yaml
1apiVersion: apps/v1 2kind: Deployment 3metadata: 4 creationTimestamp: null 5 labels: 6 app: busybox-dep 7 name: busybox-dep 8spec: 9 replicas: 12 10 selector: 11 matchLabels: 12 app: busybox-dep 13 strategy: {} 14 template: 15 metadata: 16 creationTimestamp: null 17 labels: 18 app: busybox-dep 19 spec: 20 containers: 21 - image: busybox 22 imagePullPolicy: IfNotPresent 23 command: 24 - sleep 25 - "9999" 26 name: busybox 27 resources: {} 28status: {}
その後ノードを1つ追加して、リソースが追加したノードに移動しないことを確認して偏りを作る。
kubernetes-sigsからdescheduleをcloneする。
bash
1$ git clone https://github.com/kubernetes-sigs/descheduler.git
CronJobで起動する。
bash
1$ kubectl create -f descheduler/kubernetes/base/rbac.yaml 2$ kubectl create -f descheduler/kubernetes/base/configmap.yaml 3$ kubectl create -f descheduler/kubernetes/cronjob/cronjob.yaml
新しく追加したノードにPodgが移動していることを確認した。
ここでcluster-2にdescheduleをデプロイした。
bash
1$ kubectl create -f descheduler/kubernetes/base/rbac.yaml 2$ kubectl create -f descheduler/kubernetes/base/configmap.yaml 3$ kubectl create -f descheduler/kubernetes/cronjob/cronjob.yaml
だが、再配置はされずcluster-2は何もないままになる。
あなたの回答
tips
プレビュー