gcloud apply spec 字段

本页面介绍了您可以在 Anthos Config Management 的配置文件中设置的不同字段。使用 Google Cloud CLI 配置 Anthos Config Management 组件时,您会使用此文件。用于应用配置文件的 gcloud CLI 命令也有参考文档

与 gcloud CLI 配合使用的文件格式类似于 ConfigManagement 对象的格式。但是,两者的格式并不相同,而且不能互换使用。

Config Sync 的配置

说明
spec.configSync.enabled 如果为 true,则启用 Config Sync。默认值为 false
spec.configSync.syncRepo 用作可靠数据源的 Git 代码库的网址。如果您没有准备好 Git 代码库,则可以省略此字段。
spec.configSync.syncBranch 需与其同步的代码库分支。默认值:master
spec.configSync.policyDir Git 代码库中指向您要同步的配置所在的根目录的路径。默认值:代码库的根目录。
spec.configSync.syncWait 连续两次同步操作之间的间隔时长(以秒为单位)。默认值:15。
spec.configSync.syncRev 要签出的 Git 修订版本(标记或哈希)。默认为 HEAD
spec.configSync.preventDrift 如果为 true,则允许 Config Sync 准入网络钩子通过拒绝有冲突的更改推送到活跃集群来防止偏移。默认值:false。无论此字段的值如何,Config Sync 始终会修复偏移。 Anthos Config Management 1.10.0 版及更高版本支持此字段。
spec.git.auth 为访问 Git 代码库而配置的 Secret 类型,必须为 sshcookiefilegcenodegcpserviceaccounttokennone。此字段的验证区分大小写。必填。
spec.git.gcpServiceAccountEmail 用于为 RootSync 或 RepoSync 控制器的 Kubernetes 服务帐号添加注释的 Google Cloud 服务帐号。此字段仅在 spec.git.authgcpserviceaccount 时使用。
spec.configSync.sourceFormat 设置为 unstructured 时,配置 non-hierarchical repo。默认值:hierarchy

Git 代码库的代理配置

如果您的组织的安全政策要求您通过 HTTPS 代理路由流量,则可以使用该代理的 URI 将 Config Sync 配置为与 Git 主机进行通信。仅当使用 cookiefilenonetoken 授权类型时才支持代理。

说明
spec.configSync.httpsProxy 定义用于访问 Git 代码库的 HTTPS_PROXY 环境变量。

政策控制器的配置

说明
spec.policyController.enabled 如果为 true,则启用政策控制器。默认值为 false
spec.policyController.templateLibraryInstalled 如果为 true,则安装用于常用政策类型的限制条件模板。默认值为 true
spec.policyController.referentialRulesEnabled 如果为 true,则启用对参照限制条件的支持。请务必了解关于最终一致性的注意事项。默认值为 false
spec.policyController.auditIntervalSeconds 前后两次限制条件违规审核之间的间隔时长(以秒为单位)。将其设置为 0 可停用审核。默认值:60。
spec.policyController.logDeniesEnabled 如果为 true,则记录所有拒绝及试运行失败。默认值为 false
spec.policyController.exemptableNamespaces 要从政策控制器准许网络钩子强制执行的命名空间列表。所有违规行为仍会在审核中报告。默认为空列表。

层次结构控制器的配置

说明
spec.hierarchyController.enabled 如果为 true,则启用层次结构控制器。默认值为 false
spec.hierarchyController.enableHierarchicalResourceQuota 如果为 true,则启用分层资源配额。默认值为 false
spec.hierarchyController.enablePodTreeLabels 如果为 true,则启用工作负载的分层观察。默认值为 false

gcloud apply spec 的示例

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: init
    secretType: none
    policyDir: quickstart/multirepo/root
  policyController:
    enabled: false
  hierarchyController:
    enabled: false