本页面介绍您可以在 ConfigManagement
对象中设置的各个字段。当您使用 kubectl
命令配置 Config Sync 时,可以使用此对象。如果您使用 ConfigManagement
对象而不是 Policy Controller gcloud
命令来管理 Policy Controller,也可以使用这些字段。
键 |
说明 |
spec.enableMultiRepo |
如果为 true ,则启用 RootSync 和 RepoSync API。这些 API 为您提供了更多 Config Sync 功能,例如从多个代码库同步。以及同步 Kustomize 和 Helm 配置。默认值为 false 。 |
spec.enableLegacyFields |
如果为 true ,则启用 ConfigManagement 中已弃用的 spec.git 字段,同时仍使用多代码库模式。设置此字段会自动在集群上生成 RootSync 资源。 |
spec.preventDrift |
如果为 true ,则允许 Config Sync 准入网络钩子通过拒绝有冲突的更改推送到活跃集群来防止偏移。默认值为 false 。
无论此字段的值如何,Config Sync 始终会修复偏移。 |
政策控制器的配置
键 |
说明 |
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 |
要从政策控制器准许网络钩子强制执行的命名空间列表。所有违规行为仍会在审核中报告。默认为空列表。 |
spec.policyController.monitoring.backends |
政策控制器要将指标导出到的受监控后端的列表。默认值:[cloudmonitoring, prometheus] 。 |
适用于 ConfigManagement 对象行为的配置
键 |
说明 |
spec.clusterName |
集群的用户定义的名称,由 ClusterSelector 用来将集群组合在一起。在 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.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
。