クラスタ・オートスケーラ

Cluster Autoscalerアドオンを有効にすると、次のキー/値のペアを引数として渡すことができます。

すべてのクラスタ・アドオンに共通の構成引数
キー(APIおよびCLI) キーの表示名(コンソール) 説明 必須/オプション デフォルト値 値の例
affinity affinity

アフィニティ・スケジューリング・ルールのグループ。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null null
nodeSelectors ノード・セレクター

ノード・セレクタおよびノード・ラベルを使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。

ポッドをノードで実行するには、ポッドのノード・セレクタのキー/値がノードのラベルと同じである必要があります。

nodeSelectorsを、ポッドのノード・セレクタとワーカー・ノードのラベルの両方に一致するキー/値ペアに設定します。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null {"foo":"bar", "foo2": "bar2"}

ポッドは、foo=barまたはfoo2=bar2ラベルを持つノードでのみ実行されます。

numOfReplicas numOfReplicas アドオン配備の複製の数。

(CoreDNSの場合は、かわりにnodesPerReplicaを使用します。)

必須 1

クラスタごとにアドオン・デプロイメントのレプリカを1つ作成します。

2

クラスタごとにアドオン・デプロイメントの2つのレプリカを作成します。

rollingUpdate rollingUpdate

maxSurgeおよびmaxUnavailableによるローリング更新の望ましい動作を制御します。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null null
tolerations 許容範囲

テイントおよび許容範囲を使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。

taintがあるノード上でポッドを実行するには、ポッドに対応する許容範囲が必要です。

tolerationsを、ポッドの許容範囲とワーカー・ノードのテイントの両方に一致するキー/値のペアに設定します。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

この許容範囲を持つポッドのみが、tolerationKeyFoo=tolerationValBar:noScheduleテイントを持つワーカー・ノードで実行できます。

topologySpreadConstraints topologySpreadConstraints

指定されたトポロジ間で一致するポッドを分散する方法。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null null
このクラスタ・アドオンに固有の構成引数
キー(APIおよびCLI) キーの表示名(コンソール) 説明 必須/オプション デフォルト値 値の例
annotations 注釈

Cluster Autoscalerデプロイメントに渡す注釈。

たとえば、"{\"prometheus.io/scrape\":\"true\",\"prometheus.io/port\":\"8086\"}"です

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション ""
authType authType リクエストの実行中にCluster Autoscalerが使用する認証タイプ。次のいずれかになります。
  • instanceは、インスタンス・プリンシパルを指定します
  • workloadは、ワークロード・アイデンティティを指定します
必須 instance
balanceSimilarNodeGroups balanceSimilarNodeGroups 類似するノード・グループを検出し、それらの間のノード数のバランスをとります。 オプション false
balancingIgnoreLabel balancingIgnoreLabel ノード・グループの類似性を考慮するときに無視する必要があるノード・ラベルを定義します。フラグの発生ごとに1つのラベル。形式はlabel1, label2です。 オプション ""
balancingLabel balancingLabel ノード・グループの類似性を比較するときに使用するノード・ラベルを定義します。設定すると、他のすべての比較ロジックが無効になり、グループの比較時にラベルのみが考慮されます。フラグの発生ごとに1つのラベル。形式はlabel1, label2です。 オプション ""
cluster-autoscaler.ContainerResources cluster-autoscalerコンテナ・リソース

アドオン・コンテナが要求するリソース数量を指定し、アドオン・コンテナが超過できないリソース使用量制限を設定できます。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

オプション null {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

100ミリコアのCPUと100メビバイトのメモリーをリクエストするアドオン・コンテナを作成します。アドオンコンテナを500MバイトのCPUおよび200Mバイトのメモリーに制限します。

cordonNodeBeforeTerminating (コンソールには表示されません) ダウンスケール・プロセス中に終了する前にCAコード・ノードが必要です。 オプション false
coresTotal (コンソールには表示されません) クラスタ内のコアの最小数および最大数(<min>:<max>の形式)。クラスタ・オートスカラは、これらの数値を超えてクラスタをスケーリングしません。 オプション 0:320000
daemonsetEvictionForEmptyNodes (コンソールには表示されません) DaemonSetポッドが空のノードから正常に終了するかどうか。 オプション false
daemonsetEvictionForOccupiedNodes (コンソールには表示されません) DaemonSetポッドが空でないノードから正常に終了するかどうか。 オプション true
debuggingSnapshotEnabled (コンソールには表示されません) クラスタ自動スカラー機能のデバッグ・スナップショットが有効かどうか。 オプション false
emitPerNodegroupMetrics (コンソールには表示されません) trueの場合、ノード・グループごとのメトリックを発行します。 オプション false
enforceNodeGroupMinSize (コンソールには表示されません) CAは、必要に応じてノード・グループを構成済の最小サイズにスケール・アップする必要があります。 オプション false
estimator (コンソールには表示されません) スケール・アップで使用されるリソース見積りのタイプです。 オプション binpacking
expander エクスパンダ スケール・アップで使用するノード・グループ・エクスパンダのタイプ。

expander=priceはサポートされていません。

オプション random
expendablePodsPriorityCutoff (コンソールには表示されません) カットオフより優先度の低いポッドは費用がかかります。スケール・ダウン時に考慮せずに殺すことができ、スケール・アップは発生しません。null優先度(PodPriorityが無効)のポッドは有効期限がありません。 オプション -10
ignoreDaemonsetsUtilization (コンソールには表示されません) スケール・ダウン用のリソース使用率を計算するときに、DaemonSetポッドを無視するかどうか。 オプション false
ignoreMirrorPodsUtilization (コンソールには表示されません) スケール・ダウンのリソース使用率を計算するときにミラー・ポッドが無視されるかどうか。 オプション false
leaderElect (コンソールには表示されません) メイン・ループを実行する前に、リーダー選択クライアントを開始し、リーダーシップを獲得します。高可用性を実現するためにレプリケート・コンポーネントを実行する場合は、これを有効にします。 オプション true
leaderElectLeaseDuration (コンソールには表示されません) リーダー以外の候補者がリーダーシップの更新を観察した後、リードされたが更新されていないリーダー・スロットのリーダーシップを獲得しようとするまでの期間。これは、リーダーが別の候補に置換されるまでに停止できる最大期間です。これは、リーダー選択が有効になっている場合にのみ適用されます。 オプション 15s
leaderElectRenewDeadline (コンソールには表示されません) アクティブ・クラスタ・オートスカラがリーダーシップ・スロットを更新してから先行を停止するまでの試行間隔。これはリース期間以下である必要があります。これは、リーダー選択が有効になっている場合にのみ適用されます。 オプション 10s
leaderElectResourceLock (コンソールには表示されません) リーダー選択時のロックに使用されるリソース・オブジェクトのタイプ。サポートされているオプションは、leases (デフォルト)、endpointsendpointsleasesconfigmapsおよびconfigmapsleasesです。 オプション leases
leaderElectRetryPeriod (コンソールには表示されません) 顧客がリーダーシップの取得と更新を試みるまでの期間。これは、リーダー選択が有効になっている場合にのみ適用されます。 オプション 2s
maxAutoprovisionedNodeGroupCount (コンソールには表示されません) クラスタ内の自動プロビジョニングされたグループの最大数。 オプション 15
maxEmptyBulkDelete maxEmptyBulkDelete 同時に削除できる空のノードの最大数。 オプション 10
maxFailingTime (コンソールには表示されません) 自動再起動前の最後の正常な自動スカラー実行からの最大時間。 オプション 15m
maxGracefulTerminationSec (コンソールには表示されません) ノードのスケール・ダウン試行時にCAがポッド終了を待機する最大秒数。 オプション 600
maxInactivity (コンソールには表示されません) 自動再起動の前回記録された自動スカラー・アクティビティからの最大時間。 オプション 10m
maxNodeProvisionTime maxNodeProvisionTime CAがノードのプロビジョニングを待機する最大時間。 オプション 15m
maxNodesTotal (コンソールには表示されません) すべてのノード・プールのノードの最大数。クラスタ・オートスカラは、この数を超えるクラスタを拡張しません。 オプション 0
maxTotalUnreadyPercentage (コンソールには表示されません) クラスタ内の未準備ノードの最大割合。これを超えると、CAは操作を停止します。 オプション 45
memoryTotal (コンソールには表示されません) クラスタ内のメモリーの最小数および最大数(<min>:<max>の形式)。クラスタ・オートスカラは、これらの数値を超えてクラスタをスケーリングしません。 オプション 0:6400000
minReplicaCount (コンソールには表示されません) レプリカ・セットまたはレプリケーション・コントローラがポッドをスケール・ダウンで削除できるようにする必要がある最小数またはレプリカ。 オプション 0
nodes ノード

クラスタ自動スカラによって管理されるノードの最小数、ノードの最大数およびノード・プールのOCIDのリスト。

形式は<min>:<max>:<node-pool1-ocid>, <min>:<max>:<node-pool2-ocid>です。

nodesまたはnodeGroupAutoDiscoveryのいずれかを使用しますが、両方は使用できません。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

nodeGroupAutoDiscoveryが設定されていない場合は必須 ""
nodeGroupAutoDiscovery (コンソールには表示されません)

タグ・キー/値ペアのリスト、ノードの最小数、ノードの最大数およびクラスタ自動スカラによって管理されるノード・プールが存在するコンパートメントのOCID。

形式はcompartmentId:<compartment-ocid>,nodepoolTags:<tagKey1>=<tagValue1>&<tagKey2>=<tagValue2>,min:<min-nodes>,max:<max-nodes>です。

nodeGroupAutoDiscoveryまたはnodesのいずれかを使用しますが、両方は使用できません。

Cluster Autoscalerバージョン1.30.3、バージョン1.31.1およびバージョン1.32.0以降でサポートされています。

プレーン・テキストまたはエンコードされたBase64のJSON形式。

nodesが設定されていない場合は必須
okTotalUnreadyCount (コンソールには表示されません) maxTotalUnreadyPercentageに関係なく、許可される未準備ノードの数。 オプション 3
recordDuplicatedEvents (コンソールには表示されません) オートスカラーが5分間のウィンドウ内に重複したイベントを印刷できるようにします。 オプション false
scaleDownCandidatesPoolMinCount (コンソールには表示されません)

前回の反復からの一部の候補者が有効でなくなった場合に、スケール・ダウンの追加の空でない候補とみなされるノードの最小数。追加の候補者のプール・サイズを計算するときに使用します。

max(#nodes * scale-down-candidates-pool-ratio,
              scale-down-candidates-pool-min-count)
必須 50
scaleDownCandidatesPoolRatio (コンソールには表示されません) 前回の反復の候補の一部が無効になった場合に、スケール・ダウンの追加の空でない候補とみなされるノードの比率。値を小さくすると、CAの応答性が向上しますが、スケール・ダウン・レイテンシが遅くなる可能性があります。値が大きいほど、大きいクラスタ(数百ノード)のCAパフォーマンスに影響する可能性があります。このヒューリスティックをオフにするには1.0に設定します。CAはすべてのノードを追加候補として取得します。 必須 0.1
scaleDownDelayAfterAdd scaleDownDelayAfterAdd スケール・アップ後、そのスケール・ダウン評価が再開される期間。 必須 10m
scaleDownDelayAfterDelete (コンソールには表示されません) 評価を再開するノード削除後の時間。デフォルトはscan-intervalです。 必須 10s
scaleDownDelayAfterFailure (コンソールには表示されません) スケール・ダウン失敗後、評価を再開する期間。 必須 3m
scaleDownEnabled scaleDownEnabled CAはクラスタをスケール・ダウンする必要があります。 オプション true
scaleDownNonEmptyCandidatesCount (コンソールには表示されません) 1回の反復でドレインによるスケール・ダウンの候補とみなされる空でないノードの最大数。値を小さくすると、CAの応答性が向上しますが、スケール・ダウン・レイテンシが遅くなる可能性があります。値が大きいほど、大きいクラスタ(数百ノード)のCAパフォーマンスに影響する可能性があります。このヒューリスティックをオフにするには、正以外の値に設定します。CAは、考慮するノードの数を制限しません。 必須 30
scaleDownUnneededTime scaleDownUnneededTime ノードがスケール・ダウンに適格になるまでに、ノードが不要になる期間。 必須 10m
scaleDownUnreadyTime (コンソールには表示されません) スケール・ダウンに適格になるまでに、まだノードが不要になる期間。 必須 20m
scaleDownUtilizationThreshold (コンソールには表示されません) ノード使用率レベル。要求されたリソースの合計を容量で割ったものとして定義され、その下にノードをスケール・ダウンで考慮できます。 必須 0.5
scanInterval scanInterval スケール・アップまたはスケール・ダウンのためにクラスタが再評価される頻度。 オプション 10s
skipNodesWithCustomControllerPods (コンソールには表示されません) trueの場合、クラスタ自動スカラは、カスタム・コントローラが所有するポッドを含むノードを削除しません。 オプション true
skipNodesWithLocalStorage (コンソールには表示されません) trueの場合、クラスタ自動スカラは、ローカル記憶域を持つポッド(EmptyDirやHostPathなど)を含むノードを削除しません。 オプション true
skipNodesWithSystemPods (コンソールには表示されません) trueの場合、クラスタ自動スカラは、ポッドを含むノードをkubeシステムから削除しません(DaemonSetまたはミラー・ポッドを除く)。 オプション true
statusConfigMapName (コンソールには表示されません) CAが書き込むステータスConfigMapの名前。 オプション cluster-autoscaler-status
stderrthreshold (コンソールには表示されません) ログの重大度しきい値。このしきい値を超えると、ログがstderrに送信されます。たとえば、これをerrorに設定すると、重大度がerrorより大きいすべてのログがstderrに送信されます。 オプション info
unremovableNodeRecheckTimeout unremovableNodeRecheckTimeout 以前に削除できなかったノードを再度チェックするまでのタイムアウト。 必須 5m
v (コンソールには表示されません) ロギングの詳細度の数。 オプション 0
writeStatusConfigmap (コンソールには表示されません) CAは、configmapにステータス情報を書き込む必要があります。 オプション true