ConfigManagement 字段

本页面介绍您可以在 ConfigManagement 对象中设置的各个字段。当您使用 kubectl 命令配置 Config Sync 时,可以使用此对象。如果您使用 ConfigManagement 对象而不是 Policy Controller gcloud 命令来管理 Policy Controller,也可以使用这些字段。

Config Sync 功能的配置

说明
spec.enableMultiRepo 如果为 true,则启用 RootSync 和 RepoSync API。这些 API 为您提供了更多 Config Sync 功能,例如从多个代码库同步。以及同步 Kustomize 和 Helm 配置。默认值为 false
spec.preventDrift 如果为 true,则允许 Config Sync 准入网络钩子通过拒绝有冲突的更改推送到活跃集群来防止偏移。默认值为 false。 无论此字段的值如何,Config Sync 始终会修复偏移。
spec.enableLegacyFields (Shutdown in 1.19.0) 如果为 true,则启用 ConfigManagement 中已弃用的 spec.git 字段,同时仍使用多代码库模式。设置此字段会自动在集群上生成 RootSync 资源。

政策控制器的配置

说明
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.mutation.enabled 如果为 true,则启用对变更的支持。默认值为 false
spec.policyController.exemptableNamespaces 要从 Policy Controller 准入 Webhook 强制执行中移除的命名空间的列表。所有违规行为仍会在审核中报告。默认为空列表。
spec.policyController.monitoring.backends 供 Policy Controller 导出指标的监控后端的列表。默认值:[cloudmonitoring, prometheus]

适用于 ConfigManagement 对象行为的配置

说明
spec.clusterName 集群的用户定义的名称,由 ClusterSelectors 用来将集群组合在一起。在 Config Sync 安装环境中是唯一的。您无法在 Google Cloud 控制台中配置此字段。

ConfigManagement 对象示例

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Git 代码库的配置(已弃用)

说明
spec.git.gcpServiceAccountEmail 用于为 RootSync 或 RepoSync 控制器的 Kubernetes 服务账号添加注释的 Google Cloud 服务账号。此字段仅在 spec.git.secretTypegcpserviceaccount 时使用。
spec.git.syncRepo 用作可靠数据源的 Git 代码库的网址。必填。
spec.git.syncBranch 要从中同步的代码库的分支。默认值:master
spec.git.policyDir Git 代码库中指向您要同步的配置所在的根目录的路径。默认值:代码库的根目录。
spec.git.syncWait 连续两次同步操作之间的时长。默认值:15 秒。
spec.git.syncRev 要签出的 Git 修订版本(标记或哈希)。默认值:HEAD。
spec.git.secretType 为访问 Git 代码库而配置的 Secret 类型,sshcookiefiletokengcenodegcpserviceaccountnone 之一。必填。
spec.sourceFormat 您的 Git 代码库的格式。可以是 unstructuredhierarchy。默认值:hierarchy

Git 代码库的代理配置

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

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

如果同时指定了 httpProxyhttpsProxy 字段,则系统会忽略 httpProxy