本页面介绍您可以在 ConfigManagement
对象中设置的各个字段。当您使用 kubectl
命令配置 Config Sync 时,可以使用此对象。如果您使用 ConfigManagement
对象而不是 Policy Controller gcloud
命令来管理 Policy Controller,也可以使用这些字段。
注意 :gcloud CLI apply 命令使用与 ConfigManagement
对象不同的文件格式 。
键
说明
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 代码库的配置(已弃用)
注意 :ConfigManagement
对象的 spec.git
字段已关停。从 1.19.0 版开始,您无法创建使用 spec.git
字段管理 Git 代码库的新配置。使用 spec.git
字段的现有 Git 代码库配置将在 1.19.0 之后无法正常运行。RootSync
API 提供了相同的功能和其他好处,例如可从多个来源进行同步以及改进了可观测性。如需了解将 Git 配置迁移到 RootSync
对象的好处和说明,请参阅迁移 ConfigManagement
对象 。
键
说明
spec.git.gcpServiceAccountEmail
用于为 RootSync 或 RepoSync 控制器的 Kubernetes 服务账号添加注释的 Google Cloud 服务账号。此字段仅在 spec.git.secretType
为 gcpserviceaccount
时使用。
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 类型,ssh
、cookiefile
、token
、gcenode
、gcpserviceaccount
或 none
之一。必填。
spec.sourceFormat
您的 Git 代码库的格式。可以是 unstructured
或 hierarchy
。默认值:hierarchy
。
Git 代码库的代理配置
如果您的组织的安全政策要求您通过 HTTP(S) 代理路由流量,则可以使用该代理的 URI 将 Config Sync 配置为与 Git 主机进行通信。 仅当使用 cookiefile
、none
或 token
授权类型时才支持代理。
键
说明
spec.git.proxy.httpProxy
定义用于访问 Git 代码库的 HTTP_PROXY
环境变量。
spec.git.proxy.httpsProxy
定义用于访问 Git 代码库的 HTTPS_PROXY
环境变量。
如果同时指定了 httpProxy
和 httpsProxy
字段,则系统会忽略 httpProxy
。