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

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

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

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

レプリカ数を構成する

レプリカ数を構成することで、ReplicaSet の Policy Controller デプロイを構成できます。

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

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

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

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

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

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

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

リソース要件を設定する

メモリと CPU の制限とリクエストを指定できます。

メモリ上限とリクエストを設定する

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

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

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

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

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

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

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

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

CPU の上限とリクエストを設定する

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

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

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

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

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

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

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

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

制限とリクエストを削除する

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

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

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

  • DEPLOYMENT_TYPE: リクエストまたは制限を削除するデプロイ タイプ。次のいずれかの値になります。auditmutationadmission
  • RESOURCE_TYPE: 削除するリソースタイプ。次のいずれかの値になります。memory-limitmemory-requestcpu-limitcpu-request

許容構成

Policy Controller のデプロイに容認機能を設定できます。

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

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

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

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

  • 容認機能を鍵と値で設定するには、次のコマンドを実行します。

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

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

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

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

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

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

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

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

アフィニティを構成する

Policy Controller のデプロイで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