高可用性を実現する Policy Controller を構成する

Policy Controller 用の Deployment レベルの構成を設定することで、リソース要件をオーバーライドし、高可用性のパラメータを構成できます。

このページは、監査または適用のために自動化を行い、維持することで、クラウド プラットフォーム内で実行されているすべてのリソースが組織のコンプライアンス要件を確実に満たすようにする IT 管理者と運用担当者を対象としています。また、基盤となる技術インフラストラクチャのライフサイクルを管理する IT 管理者と運用担当者も対象としています。Google Cloud のコンテンツで参照する一般的なロールとタスク例の詳細については、一般的な GKE Enterprise ユーザーロールとタスクをご覧ください。

すべての構成オプションのリストを取得するには、gcloud container fleet policycontroller deployment set --help を実行します。

このページのコマンドは、--all-memberships フラグを使用して、フリートに登録されているすべてのクラスタに構成を適用します。代わりに、単一の登録済みクラスタにコマンドを適用するには、--membership=MEMBERSHIP_NAME を使用します。MEMBERSHIP_NAME は、登録済みクラスタのメンバーシップ名に置き換えます。

レプリカ数を設定する

レプリカ数を設定することで、ReplicaSet の Policy Controller の Deployment を構成できます。

レプリカ数を設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE replica-count QUANTITY \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: レプリカ数を設定する Deployment のタイプ。値は mutation または admission のいずれかです。
  • QUANTITY: 設定するレプリカの数(3 など)。

レプリカ数を削除するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE replica-count \
  --all-memberships

DEPLOYMENT_TYPE は、レプリカを削除する Deployment のタイプに置き換えます。この値は、mutation または admission のいずれかです。

リソース要件を設定する

メモリと CPU の上限と要求を指定できます。

メモリの上限と要求を設定する

メモリの上限を設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-limit QUANTITY \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: メモリの上限を設定する Deployment のタイプ。auditmutationadmission のいずれかの値になります。
  • QUANTITY: 数量接尾辞(4Gi など)で設定する数量。

メモリの要求を設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-request QUANTITY \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: メモリの要求を設定する Deployment のタイプ。auditmutationadmission のいずれかの値になります。
  • QUANTITY: 数量接尾辞(2Gi など)で設定する数量。

CPU の上限と要求を設定する

CPU の上限を設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-limit QUANTITY \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: CPU の上限を設定する Deployment のタイプ。auditmutationadmission のいずれかの値になります。
  • QUANTITY: 設定する CPU 数量(例: 500m)。

CPU の要求を設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-request QUANTITY \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: CPU の要求を設定する Deployment のタイプ。auditmutationadmission のいずれかの値になります。
  • QUANTITY: 設定する数量(250m など)。

上限と要求を削除する

構成を削除するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE RESOURCE_TYPE \
  --all-memberships

次のように置き換えます。

  • DEPLOYMENT_TYPE: 要求または上限を削除する Deployment のタイプ。auditmutationadmission のいずれかの値になります。
  • RESOURCE_TYPE: 削除するリソースタイプ。memory-limitmemory-requestcpu-limitcpu-request のいずれかの値になります。

toleration 設定

Policy Controller の Deployment に toleration を設定できます。

次のいずれかの方法で toleration を設定できます。

  • toleration をキーで設定するには、次のコマンドを実行します。

    gcloud container fleet policycontroller deployment set admission toleration KEY \
      --all-memberships
    

    KEY は、キー値(key1 など)に置き換えます。

  • toleration をキーと値で設定するには、次のコマンドを実行します。

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships
    

    次のように置き換えます。

    • KEY: キー値(key1 など)。
    • VALUE: キー値(value1 など)。
  • toleration をキー、値、効果 NoSchedule で設定するには、次のコマンドを実行します。

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships \
      --effect=NoSchedule
    

    次のように置き換えます。

    • KEY: キー値(key1 など)。
    • VALUE: キー値(value1 など)。

toleration を編集する必要がある場合は、既存の toleration を削除してから、上記のコマンドのいずれかを使用して新しい toleration を設定する必要があります。toleration を削除するには、set ではなく remove を使用して前のコマンドを実行します。

gcloud container fleet policycontroller deployment remove admission toleration KEY=VALUE \
  --all-memberships

アフィニティを設定する

Policy Controller の Deployment に Pod アフィニティを設定できます。使用可能な設定は、anti(アンチ アフィニティに対応)と none(アフィニティなしに対応)です。admissions デプロイの場合、デフォルトは anti です。その他のすべてのデプロイでは、none がデフォルトです。

Pod のアンチ アフィニティを設定するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set mutation pod-affinity anti \
  --all-memberships

Pod アフィニティを削除するには、次のコマンドを実行します。

gcloud container fleet policycontroller deployment set mutation pod-affinity none \
  --all-memberships