0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KubernetesのdeschedulerアドオンでRemoveDuplicatesプラグインを指定する方法

Posted at

これはなんの記事?

KubernetesのdeschedulerアドオンでRemoveDuplicatesプラグインを指定する際に、公式のexampleを見ても設定の記述方法がイマイチ把握できず迷ったので、解決方法のメモです。

結論

pluginsでenabledを指定するだけでは不十分で、pluginConfigに追加が必要。
plugins.deschedule.RemoveDuplicatesで紹介されているケースを結構見かけたんですが、
plugins.balance.RemoveDuplicatesが正解みたいです。

apiVersion: "descheduler/v1alpha2"
kind: "DeschedulerPolicy"
profiles:
  - name: ProfileName
    pluginConfig:
    - name: "RemoveDuplicates"
    plugins:
      balance:
        enabled:
          - "RemoveDuplicates"

この記事の背景

なんでこのメモを書くに至ったかの背景情報です。
余談なので、読みたい人は読んでみてください。

EKSのアップデートに伴ってdeschedulerのバージョンアップが必要になった

EKS1.30の標準サポート切れが迫ってきたので、EKS1.30 -> EKS1.31へバージョンアップしました。それに伴い、クラスタ内で利用しているdeschedulerアドオンのバージョンも互換性のためにv0.31以上に上げました。

descheduler v0.31以降はdescheduler/v1alpha1のAPIグループが利用不可

deschedulerの振る舞いをDeschedulerPolicyというAPIリソースで指定しています。
古いdeschedulerの(v0.26.1)ころはプラグインの指定にdescheduler/v1alpha1というAPIグループを利用していましたが、v0.31.0以降はdescheduler/v1alpha2の利用が必須になり、要は設定記法の変更が必要になりました※。

descheduler/v1alpha1の頃は以下の記法で指定していました。

apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
  "RemoveDuplicates":
     enabled: true

descheduler/v1alpha2に移行した場合は結論に書いた通り。


※v0.27系以降はdescheduler/v1alpha2の利用が推奨されていましたが、v1alpha1もv0.30系まで利用可能でした。しかし、v0.31.0でついにAPIグループが取り除かれました(v0.31.0リリースノート)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?