gcloud apply spec 字段

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

gcloud 工具配合使用的文件格式类似于 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: main
    secretType: none
    policyDir: root-multirepo-unstructured
  policyController:
    enabled: false
  hierarchyController:
     enabled: false