特性开关
Connectors 使用特性开关来控制可选功能或逐步引入的能力。这些开关存储在由 ConnectorsCore 组件创建的 connectors-config ConfigMap 中。
本页面介绍当前为 ConnectorsCore 组件定义的特性开关。
目录
特性开关的存储位置查看当前特性开关更新特性开关通过 ConnectorsCore CR(推荐)内置特性开关特性开关详情enable-connector-apis-permissionsenable-connector-proxy-permissionsenable-connectors-approvalenable-multi-connectorenable-custom-ca-certs后续步骤特性开关的存储位置
ConnectorsCore 组件会在其安装所在的命名空间中创建一个 connectors-config ConfigMap。默认命名空间为 connectors-system。
所有值都是字符串布尔值("true" 或 "false")。由于这些开关存储在一个共享的 ConfigMap 中,因此它们适用于当前 Connectors 安装,而不是单个 Connector。
查看当前特性开关
你可以直接检查该 ConfigMap:
你也可以查询 Connectors Operator API:
此 API 需要具备访问 ConnectorClass 的权限。有关端点详情,请参阅 Connector API。
更新特性开关
特性开关通过 ConnectorsCore CR 的 spec.featureFlags 字段进行配置。operator 在协调过程中会将这些值合并到 connectors-config ConfigMap 中,其中 CR 中的值会覆盖 manifest 默认值。
通过 ConnectorsCore CR(推荐)
编辑 ConnectorsCore CR,以声明式方式设置特性开关:
或者使用 kubectl patch:
在 spec.featureFlags 中声明的特性开关会覆盖 connectors-config 中的 manifest 默认值。未在 CR 中列出的键将保留其 manifest 默认值。当新版本引入额外的特性开关时,它们会自动以默认值显示。
注意: 对
connectors-configConfigMap 的直接修改(例如通过kubectl edit configmap)会在下一次协调时被覆盖。请始终使用ConnectorsCoreCR 来配置特性开关。
内置特性开关
特性开关详情
enable-connector-apis-permissions
启用此开关后,系统会对通过 Connectors API 执行的访问应用基于 RBAC 的权限检查。这将读取 Connector 资源的权限与使用该 Connector 访问目标工具 API 的权限分离开来。
当你希望用户或工作负载可以发现 Connectors,但仍然控制他们是否能够对集成工具执行读或写操作时,此能力非常有用。
相关阅读:
enable-connector-proxy-permissions
启用此开关后,权限控制会应用于通过 Connectors Proxy 处理的请求。当工作负载或工具通过基于代理的无密连接访问外部系统时,这一点尤其相关。
当代理访问本身必须受平台权限治理时,请使用此开关。启用 enable-connectors-approval 时也必须启用此开关,因为审批功能会保护 Connectors Proxy 的使用。
相关阅读:
enable-connectors-approval
启用此开关后,Connectors 可以参与针对 Connectors Proxy 的审批门控访问工作流。此功能用于保护基于代理的 connector 使用,尤其适用于工作负载通过代理端点访问外部工具的场景。
请将 enable-connector-proxy-permissions 与此开关一起启用。没有代理权限控制,审批功能无法保护目标代理使用路径。
该功能适用于如下场景:生产制品晋级、部署到受保护的集群,或任何需要在授予访问权限前先进行审批的基于代理的 connector 使用环境。
相关阅读:
- Connectors Permission Model
- Connectors Approval & Permission Gating
- Connectors Proxy
- Connectors CSI Driver
enable-multi-connector
启用此开关后,Connectors CSI Driver 可以在单个 volume 中挂载由多个 Connectors 渲染出的配置。这使得一个工作负载可以同时消费多个工具集成,并且 driver 会根据配置的 configuration.names 合并渲染结果。
这对于诸如 Tekton task 之类的工作流非常有用,例如需要一个 Connector 用于读取依赖项,另一个 Connector 用于发布制品。
相关阅读:
enable-custom-ca-certs
启用此开关后,平台在验证到工具的 TLS 连接时会信任额外的 CA 证书,而不会禁用证书验证。信任池会以叠加方式构成:
- 系统默认 CA 池 — 容器镜像中内置的 OS 级信任存储。
- 全局自定义 CA 证书 — 位于
connectors-system命名空间中、并带有connectors.cpaas.io/ca-cert: "true"标签的 Secrets。 - 每个 Connector 的 CA 证书 —
Connector上spec.caCertSecretRef.name引用的可选 Secret,该 Secret 必须与该Connector位于同一命名空间中。
构建后的 CA 池会用于 controller 的存活和认证探针、Connectors Proxy 流量、ConnectorClass 可访问性检查,以及适用时的扩展代理(OCI、Harbor、Git HTTPS 等)。
启用该开关后,会在每个 Connector 上发布信息性 CACertReady condition,以反映按 Connector 加载 CA 的状态。该 condition 的 severity: Info,并且不会影响顶层的 Ready condition。
相关阅读: