ACK Pro クラスターを本番環境で実行する場合、パフォーマンス、セキュリティ、またはコンプライアンスのためにコントロールプレーンの動作を調整する必要がある場合があります。ACK Pro を使用すると、kube-apiserver、kube-controller-manager、cloud-controller-manager (CCM)、kube-scheduler といったコアコントロールプレーンコンポーネントのパラメーターをコンソールで直接変更できます。
このトピックでは、これらのパラメーターをカスタマイズする方法と、各クラスタータイプで利用可能なパラメーターを一覧表示します。
事前準備
以下を確認してください。
ACK マネージドクラスター Pro エディション、ACK サーバーレスクラスター Pro エディション、ACK Edge クラスター Pro エディション、または ACK LINGJUN Cluster
Container Service Management Console でクラスターアドオンを変更するために必要な権限
注意事項
コントロールプレーンの再起動:パラメーターの変更を保存すると、コントロールプレーンが再起動します。影響を最小限に抑えるため、この操作はオフピーク時間帯に実行してください。
パラメーターによるデフォルトの上書き:カスタムパラメーターは、デフォルトのクラスターパラメーターを完全に置き換えます。保存する前に、構成が完全かつ正しいことを確認してください。パラメーターが正しくないか不完全な場合、コントロールプレーンが起動しない可能性があります。
バージョン制約:一部のパラメーターは、特定のクラスターバージョンでのみ利用できます。バージョン要件は、各パラメーターテーブルに記載されています。クラスターをアップグレードするには、「クラスターの手動アップグレード」をご参照ください。
コンソールを信頼できる情報源として:コンソールには、カスタマイズ可能なパラメーターの最新リストが表示されます。このトピックのテーブルは、ドキュメント化されたデフォルト値を反映しています。
コントロールプレーンコンポーネントパラメーターのカスタマイズ
手順はすべてのコントロールプレーンコンポーネントで同じです。以下の例では kube-apiserver を使用します。
コンテナサービス管理コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター]をクリックします。
「クラスター」ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、「アドオン」をクリックします。
「[コア コンポーネント]」セクションで、設定するコンポーネントを見つけ、そのカードの右下隅にある「[設定]」をクリックします。
「[パラメーター]」ダイアログボックスで、カスタムパラメーターを入力します。構成が完全かつ正しいことを確認し、画面上の指示に従って送信してください。
デフォルトパラメーター
以下の表に、各クラスタータイプでカスタマイズ可能なパラメーターを示します。記載されている内容以外のパラメーターのセマンティクスと有効値については、公式の Kubernetes ドキュメント (kube-apiserver、kube-controller-manager、kube-scheduler) をご参照ください。
ACK マネージドクラスター Pro エディション
kube-apiserver
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
enableAdmissionPlugins | 追加のアドミッションコントローラープラグインを有効にします。 | デフォルト:空白。 |
serviceNodePortRange | NodePort サービスのポート範囲。 | 10000~65535。デフォルト:空白。 重要 この範囲がクラスターノード上の |
requestTimeout | 特定のタイムアウトを持たない API リクエストのグローバルタイムアウト。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
defaultNotReadyTolerationSeconds | エビクション前にコンテナが NotReady 状態でノード上で実行できる期間。 | デフォルト:空白。 |
defaultUnreachableTolerationSeconds | ノードが到達不能状態になってからエビクションが実行されるまでの、コンテナがそのノード上で実行できる期間。 | デフォルト:空白。 |
maxMutatingRequestsInflight | 同時ミューテート API リクエストの最大数。この制限を超えるリクエストは拒否されます。 | 1~1000。デフォルト:空白。 |
maxRequestsInflight | 同時非ミューテート API リクエストの最大数。 | 1~3000。デフォルト:空白。 |
featureGates | 特定の Kubernetes フィーチャーゲートを有効または無効にします。 | サポートされている値:ServerSideApply、TTLAfterFinished、EphemeralContainers、RemoveSelfLink、HPAScaleToZero。デフォルト:空白。説明
|
oidcIssuerURL | 外部 ID プロバイダー統合のための OpenID Connect (OIDC) 発行者の URL。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 重要 このパラメーターを設定すると、kube-apiserver は指定されたアドレスにアクセスします。パブリックエンドポイントである場合は、「クラスターのパブリックネットワークアクセスを有効にする」をご参照ください。パブリックアクセスを有効にしても API サーバーがエンドポイントに到達できない場合は、 |
oidcClientId | OIDC プロバイダーのクライアント ID。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernameClaim | OIDC 認証のユーザー名として使用される JWT クレーム。 | デフォルト:sub。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernamePrefix | 既存の名前との競合を避けるために OIDC ユーザー名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsPrefix | OIDC グループ名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsClaim | OIDC 認証のユーザーグループを設定するために使用される JWT クレーム。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcRequiredClaim | OIDC ID トークンに存在する必要があるキーと値のペア。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcCAContent | OIDC プロバイダーを検証するための PEM エンコードされた認証局 (CA) コンテンツ。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
hostAliases | kube-apiserver Pod の /etc/hosts に追加されるカスタムホスト名-IP マッピング。 | デフォルト:空白。クラスターバージョン 1.26 以降が必要です。 |
enableTrace | コントロールプレーンコンポーネントの分散トレーシングを有効にします。 | デフォルト: 空白。 クラスターバージョン 1.28 以降が必要です。 詳細については、「クラスターのコントロールプレーンコンポーネントのトレーシング分析を有効化する」をご参照ください。 |
samplingRatePerMillion | デフォルト:空白。 |
kube-controller-manager
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
horizontalPodAutoscalerSyncPeriod | Horizontal Pod Autoscaler (HPA) コントローラーが、必要なレプリカ数を再計算する頻度。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
horizontalPodAutoscalerTolerance | HPA がスケーリングアクションをトリガーする前に必要な最小比率変更。スラッシングを防止します。 | デフォルト:空白。 |
concurrentTTLAfterFinishedSyncs | TTL 期限切れの完了済みジョブをクリーンアップする同時ワーカーの数。 | デフォルト:空白。 |
concurrentHorizontalPodAutoscalerSyncs | 同時 HPA 同期ワーカーの数。 | デフォルト:空白。クラスターバージョン 1.26 以降が必要です。 |
largeClusterSizeThreshold | エビクション計算のためにクラスターが「大規模」として扱われるノード数しきい値。 | デフォルト:空白。 |
unhealthyZoneThreshold | エビクションレートの削減をトリガーするために、ゾーン内のノードのうち異常である必要がある割合。 | デフォルト:空白。 |
secondaryNodeEvictionRate | クラスターがセカンダリ (削減された) エビクションモードにある場合のノードエビクションレート。 | デフォルト:空白。 |
nodeEvictionRate | 通常の条件でのノードエビクションレート。 | デフォルト:空白。 |
terminatedPodGCThreshold | GC をトリガーする終了した Pod の数。 | デフォルト:空白。 |
kubeAPIQPS | kube-controller-manager から kube-apiserver への最大秒間クエリ数 (QPS)。 | 1~1000。デフォルト:空白。 |
kubeAPIBurst | kube-controller-manager から kube-apiserver への最大バースト数。 | 1~1000。デフォルト:空白。 |
concurrentCSRSyncs | CertificateSigningRequest (CSR) オブジェクトを処理する同時ワーカーの数。 | デフォルト:空白。クラスターバージョン 1.32 以降が必要です。 |
concurrentNodeTaintSyncs | ノード Taint 条件を同期する同時ワーカーの数。 | デフォルト:空白。クラスターバージョン 1.32 以降が必要です。 |
featureGates | コントローラーマネージャーの特定のフィーチャーゲートを有効または無効にします。 | サポートされている値:TTLAfterFinished。デフォルト:空白。 |
cloud-controller-manager (CCM)
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
routeTableIDs | CCM が管理する VPC ルートテーブル ID のカンマ区切りリスト。 | デフォルト:空白。ご利用の VPC に複数のルートテーブルがある場合に設定します。例:vtb-,vtb*。 |
kube-scheduler
kube-scheduler のパラメーターについては、「スケジューラーパラメーターのカスタマイズ」をご参照ください。
ACK サーバーレスクラスター Pro エディション
kube-apiserver
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
enableAdmissionPlugins | 追加のアドミッションコントローラープラグインを有効にします。 | デフォルト:空白。 |
requestTimeout | 特定のタイムアウトを持たない API リクエストのグローバルタイムアウト。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
defaultNotReadyTolerationSeconds | エビクション前にコンテナが NotReady 状態でノード上で実行できる期間。 | デフォルト:空白。 |
defaultUnreachableTolerationSeconds | コンテナが、到達不能状態のノード上で、エビクションされる前に実行を継続できる期間。 | デフォルト:空白。 |
maxMutatingRequestsInflight | 同時ミューテート API リクエストの最大数。この制限を超えるリクエストは拒否されます。 | 1~1000。デフォルト:空白。 |
maxRequestsInflight | 同時非ミューテート API リクエストの最大数。 | 1~3000。デフォルト:空白。 |
featureGates | 特定の Kubernetes フィーチャーゲートを有効または無効にします。 | サポートされている値:ServerSideApply、TTLAfterFinished、EphemeralContainers、RemoveSelfLink、HPAScaleToZero。デフォルト:空白。説明
|
oidcIssuerURL | 外部 ID プロバイダー統合のための OIDC 発行者の URL。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcClientId | OIDC プロバイダーのクライアント ID。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernameClaim | OIDC 認証のユーザー名として使用される JWT クレーム。 | デフォルト:sub。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernamePrefix | 既存の名前との競合を避けるために OIDC ユーザー名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsPrefix | OIDC グループ名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsClaim | OIDC 認証のユーザーグループを設定するために使用される JWT クレーム。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcRequiredClaim | OIDC ID トークンに存在する必要があるキーと値のペア。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcCAContent | OIDC プロバイダーを検証するための PEM エンコードされた CA コンテンツ。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
kube-controller-manager
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
horizontalPodAutoscalerSyncPeriod | HPA コントローラーが、必要なレプリカ数を再計算する頻度。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
horizontalPodAutoscalerTolerance | HPA がスケーリングアクションをトリガーする前に必要な最小比率変更。 | デフォルト:空白。 |
concurrentTTLAfterFinishedSyncs | TTL 期限切れの完了済みジョブをクリーンアップする同時ワーカーの数。 | デフォルト:空白。 |
kubeAPIQPS | kube-controller-manager から kube-apiserver への最大 QPS。 | 1~1000。デフォルト:空白。 |
kubeAPIBurst | kube-controller-manager から kube-apiserver への最大バースト数。 | 1~1000。デフォルト:空白。 |
featureGates | コントローラーマネージャーの特定のフィーチャーゲートを有効または無効にします。 | サポートされている値:TTLAfterFinished。デフォルト:空白。 |
kube-scheduler
kube-scheduler のカスタマイズは、許可リストに登録されているユーザーが利用できます。サポートされているパラメーターについては、「スケジューラーパラメーターのカスタマイズ」をご参照ください。
ACK Edge クラスター Pro エディション
kube-apiserver
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
enableAdmissionPlugins | 追加のアドミッションコントローラープラグインを有効にします。 | デフォルト:空白。 |
serviceNodePortRange | NodePort サービスのポート範囲。 | 10000~65535。デフォルト:空白。 重要 この範囲がクラスターノード上の |
requestTimeout | 特定のタイムアウトを持たない API リクエストのグローバルタイムアウト。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
defaultNotReadyTolerationSeconds | エビクション前にコンテナが NotReady 状態でノード上で実行できる期間。 | デフォルト:空白。 |
defaultUnreachableTolerationSeconds | エビクション前にコンテナが Unreachable 状態でノード上で実行できる期間。 | デフォルト:空白。 |
maxMutatingRequestsInflight | 同時ミューテート API リクエストの最大数。この制限を超えるリクエストは拒否されます。 | 1~1000。デフォルト:空白。 |
maxRequestsInflight | 同時非ミューテート API リクエストの最大数。 | 1~3000。デフォルト:空白。 |
featureGates | 特定の Kubernetes フィーチャーゲートを有効または無効にします。 | サポートされている値:ServerSideApply、TTLAfterFinished、EphemeralContainers、RemoveSelfLink、HPAScaleToZero。デフォルト:空白。説明
|
oidcIssuerURL | 外部 ID プロバイダー統合のための OIDC 発行者の URL。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcClientId | OIDC プロバイダーのクライアント ID。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernameClaim | OIDC 認証のユーザー名として使用される JWT クレーム。 | デフォルト:sub。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernamePrefix | 既存の名前との競合を避けるために OIDC ユーザー名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsPrefix | OIDC グループ名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsClaim | OIDC 認証のユーザーグループを設定するために使用される JWT クレーム。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcRequiredClaim | OIDC ID トークンに存在する必要があるキーと値のペア。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcCAContent | OIDC プロバイダーを検証するための PEM エンコードされた CA コンテンツ。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
kube-controller-manager
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
horizontalPodAutoscalerSyncPeriod | HPA コントローラーが、必要なレプリカ数を再計算する頻度。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
concurrentTTLAfterFinishedSyncs | TTL 期限切れの完了済みジョブをクリーンアップする同時ワーカーの数。 | デフォルト:空白。 |
largeClusterSizeThreshold | エビクション計算のためにクラスターが「大規模」として扱われるノード数しきい値。 | デフォルト:空白。 |
unhealthyZoneThreshold | エビクションレートの削減をトリガーするために、ゾーン内のノードのうち異常である必要がある割合。 | デフォルト:空白。 |
secondaryNodeEvictionRate | クラスターがセカンダリ (削減された) エビクションモードにある場合のノードエビクションレート。 | デフォルト:空白。 |
nodeEvictionRate | 通常の条件でのノードエビクションレート。 | デフォルト:空白。 |
podEvictionTimeout | 応答しないノード上の Pod がエビクションされるまでの期間。 | デフォルト:空白。 |
kubeAPIQPS | kube-controller-manager から kube-apiserver への最大 QPS。 | 1~1000。デフォルト:空白。 |
kubeAPIBurst | kube-controller-manager から kube-apiserver への最大バースト数。 | 1~1000。デフォルト:空白。 |
featureGates | コントローラーマネージャーの特定のフィーチャーゲートを有効または無効にします。 | サポートされている値:TTLAfterFinished。デフォルト:空白。 |
cloud-controller-manager (CCM)
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
routeTableIDs | CCM が管理する VPC ルートテーブル ID のカンマ区切りリスト。 | デフォルト:空白。ご利用の VPC に複数のルートテーブルがある場合に設定します。例:vtb-,vtb*。 |
kube-scheduler
kube-scheduler のパラメーターについては、「スケジューラーパラメーターのカスタマイズ」をご参照ください。
ACK LINGJUN Cluster
kube-apiserver
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
enableAdmissionPlugins | 追加のアドミッションコントローラープラグインを有効にします。 | デフォルト:空白。 |
serviceNodePortRange | NodePort サービスのポート範囲。 | 10000~65535。デフォルト:空白。 重要 この範囲がクラスターノード上の |
requestTimeout | 特定のタイムアウトを持たない API リクエストのグローバルタイムアウト。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
defaultNotReadyTolerationSeconds | エビクション前にコンテナが NotReady 状態でノード上で実行できる期間。 | デフォルト:空白。 |
defaultUnreachableTolerationSeconds | エビクション前にコンテナが Unreachable 状態でノード上で実行できる期間。 | デフォルト:空白。 |
maxMutatingRequestsInflight | 同時ミューテート API リクエストの最大数。この制限を超えるリクエストは拒否されます。 | 1~1000。デフォルト:空白。 |
maxRequestsInflight | 同時非ミューテート API リクエストの最大数。 | 1~3000。デフォルト:空白。 |
featureGates | 特定の Kubernetes フィーチャーゲートを有効または無効にします。 | サポートされている値:ServerSideApply、TTLAfterFinished、EphemeralContainers、RemoveSelfLink、HPAScaleToZero。デフォルト:空白。説明
|
oidcIssuerURL | 外部 ID プロバイダー統合のための OIDC 発行者の URL。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcClientId | OIDC プロバイダーのクライアント ID。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernameClaim | OIDC 認証のユーザー名として使用される JWT クレーム。 | デフォルト:sub。クラスターバージョン 1.18 以降が必要です。 |
oidcUsernamePrefix | 既存の名前との競合を避けるために OIDC ユーザー名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsPrefix | OIDC グループ名に追加されるプレフィックス。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcGroupsClaim | OIDC 認証のユーザーグループを設定するために使用される JWT クレーム。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcRequiredClaim | OIDC ID トークンに存在する必要があるキーと値のペア。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
oidcCAContent | OIDC プロバイダーを検証するための PEM エンコードされた CA コンテンツ。 | デフォルト:空白。クラスターバージョン 1.18 以降が必要です。 |
kube-controller-manager
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
horizontalPodAutoscalerSyncPeriod | HPA コントローラーが、必要なレプリカ数を再計算する頻度。 | デフォルト:空白 (Kubernetes デフォルトを使用)。 |
horizontalPodAutoscalerTolerance | HPA がスケーリングアクションをトリガーする前に必要な最小比率変更。 | デフォルト:空白。 |
concurrentTTLAfterFinishedSyncs | TTL 期限切れの完了済みジョブをクリーンアップする同時ワーカーの数。 | デフォルト:空白。 |
largeClusterSizeThreshold | エビクション計算のためにクラスターが「大規模」として扱われるノード数しきい値。 | デフォルト:空白。 |
unhealthyZoneThreshold | エビクションレートの削減をトリガーするために、ゾーン内のノードのうち異常である必要がある割合。 | デフォルト:空白。 |
secondaryNodeEvictionRate | クラスターがセカンダリ (削減された) エビクションモードにある場合のノードエビクションレート。 | デフォルト:空白。 |
nodeEvictionRate | 通常の条件でのノードエビクションレート。 | デフォルト:空白。 |
podEvictionTimeout | 応答しないノード上の Pod がエビクションされるまでの期間。 | デフォルト:空白。 |
kubeAPIQPS | kube-controller-manager から kube-apiserver への最大 QPS。 | 1~1000。デフォルト:空白。 |
kubeAPIBurst | kube-controller-manager から kube-apiserver への最大バースト数。 | 1~1000。デフォルト:空白。 |
featureGates | コントローラーマネージャーの特定のフィーチャーゲートを有効または無効にします。 | サポートされている値:TTLAfterFinished。デフォルト:空白。 |
cloud-controller-manager (CCM)
| パラメーター | 説明 | 有効範囲 / 注意事項 |
|---|---|---|
routeTableIDs | CCM が管理する VPC ルートテーブル ID のカンマ区切りリスト。 | デフォルト:空白。ご利用の VPC に複数のルートテーブルがある場合に設定します。例:vtb-,vtb*。 |
kube-scheduler
kube-scheduler のパラメーターについては、「スケジューラーパラメーターのカスタマイズ」をご参照ください。