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?

HelmCharts使用時のPriorityClass変更

Posted at

概要

dcgm-exporter(NVIDIA Device Plugin)をkube-system以外のnamespaceにデプロイしようとした際、DaemonSetがDesiredを持つものの、Warningが出てポッドが作成されない

Type: warning
Reason: failedCreate
From: daemonset-controller
Message: Error creating: insufficient quota to match these scopes: [{priorityClass In [system-node-critical system-cluster-critical]}]

原因

上記のエラーメッセージにあるように、PriorityClassの設定が原因です。
dcgm-exporterはデフォルトでsystem-node-criticalというPriorityClassを使用しようとしますが、このPriorityClassはkube-systemネームスペース以外では使用が制限されています。

そもそもPriorityClassとは(Claude君による説明)

PriorityClassは、Kubernetesにおいてポッドの優先順位を定義するリソースです。主な役割は:

  • ポッドのスケジューリング優先順位の決定
  • リソース競合時の振る舞いの制御
  • システムクリティカルなポッドの保護

特にsystem-node-criticalsystem-cluster-criticalといった高優先度のPriorityClassは、通常システムコンポーネント用に予約されており、kube-systemネームスペースでのみ使用可能です。

解決方法

DaemonSetにパッチを適用することで解決できました。
ValuesInlineでがんばって変更しようとしたけどうまくいかなかった。

kind: Kustomization
helmCharts:
- name: dcgm-exporter
  # 他の設定...

patches:
- patch: |
    - op: add
      path: /spec/template/spec/priorityClassName
      value: ""  # または任意のPriorityClass名
  target:
    kind: DaemonSet
    name: dcgm-exporter
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?