gcloud 配置字段行为

update 命令中的 --config 标志接受用于配置成员集群上 Config Sync 行为的字段。updateenable 命令上的 --fleet-default-member-config 标志接受相同的字段集,以配置舰队默认 Config Sync 行为。

apply 命令中的 --config 标志不同(该标志用于定义底层配置 API 字段的 Google Cloud CLI 表示形式),update 命令中的 --config--fleet-default-member-config 标志分别直接采用 SpecMembershipSpec API 字段的架构。enable 命令中的 --fleet-default-member-config 标志也已从 Google Cloud CLI 表示形式迁移到 alpha 发布轨道中的 MembershipSpec API 字段架构,但为了实现向后兼容性,系统仍支持之前的表示形式。

本页面介绍了在 --config--fleet-default-member-config 标志将 API 字段架构中的配置字段发送到 API 之前,gcloud CLI 对这些字段进行的额外处理。

默认字段值

字段 说明
configSync.enabled 如果用户指定了 configSync 字段,Config Sync 安装默认使用 true
version 对于 --config 标志,Config Sync 版本默认为成员配置中的现有值,如果未配置,则为安装在成员集群上的 Config Sync 版本。使用 describe 命令可查看这些值。如果成员集群上未安装 Config Sync,gcloud CLI 会在 API 请求中将版本保持未设置状态。 请注意,如果 configSync.enabled 对于 --config--fleet-default-member-config 均为 true,则 API 会将 Config Sync 版本默认为最新版本

不支持的字段

如果设置了以下任何旧版字段,updateenable 命令中的 --config--fleet-default-member-config 标志会出错:

  • configSync.metricsGcpServiceAccountEmail
  • policyController
  • hierarchyController
  • binauthz
  • management

配置文件示例

本部分提供了可传递给 updateenable 命令的 --config--fleet-default-member-config 标志的配置示例。这些标志同时支持 camelCasesnake_case

apply 命令页面上的示例相比,以下配置不包含 applySpecVersionspec 字段。对于 apply 命令,configSync.deploymentOverrides[].deploymentName 字段为 spec.configSync.deploymentOverrides[].name。其他字段(包括以下示例中未列出的字段)的命名方式也各不相同。

以下示例展示了基本配置:

configSync:
  enabled: true
  sourceFormat: unstructured
  git:
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root

以下示例展示了更复杂的配置:

configSync:
  enabled: true
  stopSyncing: true
  sourceFormat: unstructured
  git:
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  deploymentOverrides:
  - deploymentName: reconciler-manager
    deploymentNamespace: config-management-system
    containers:
    - containerName: reconciler-manager
      cpuRequest: 50m
      cpuLimit: 100m
      memoryRequest: 256Mi
      memoryLimit: 512Mi