配置 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:您要为其设置副本数量的部署类型。值为 mutationadmission
  • QUANTITY:您要设置的副本数量,例如 3。

如需移除副本数量,请运行以下命令:

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

DEPLOYMENT_TYPE 替换为您要从中移除副本的部署类型。此值为 mutationadmission

设置资源要求

您可以指定内存和 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 部署设置容忍

您可以使用以下方法之一设置容忍:

  • 如需使用键设置容忍,请运行以下命令:

    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

如果您需要修改容忍,则必须移除现有容忍,然后使用前面的某个命令设置新容忍。如需移除容忍,请使用 remove 而不是 set 运行前面的命令,例如:

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