Connector
是表示特定工具集成实例的资源。通过配置工具的访问 URL 和认证信息,我们可以为该工具创建一个集成实例。
例如,使用 GitHub Private Access Token
集成 https://github.com
就是通过 Connector
来实现的。
在 Kubernetes
中,Connector
是一个命名空间级别的自定义资源。用户可以在同一命名空间内创建多个 Connector
,以集成不同的工具。
例如,在 default
命名空间内,可以同时创建一个用于集成 https://github.com
的 Connector
和一个用于集成 https://hub.docker.com/
的 Connector
。
平台管理员可以通过管理 Connector
资源来实现对整个集群中工具集成的管理。
ConnectorClass
定义了特定类型工具的访问方式和行为规范。它规定了集成某种类型工具时所需的参数,如工具地址和认证信息。
例如,Git ConnectorClass
定义了集成 Git 工具时需要提供的配置项,包括 Git 服务地址和 Basic-Auth
认证信息。
在 Kubernetes
中,ConnectorClass
是一个集群级别的自定义资源。开发者可以通过定义新的 ConnectorClass
来扩展平台支持的工具类型。
例如,可以定义一个 Harbor ConnectorClass
来支持集成 Harbor 镜像仓库,定义一个 MySQL ConnectorClass
来支持集成 MySQL 数据库,或者定义一个 Jira ConnectorClass
来支持集成 Jira 项目管理工具。
ConnectorsProxy
是一个核心组件,提供在 Kubernetes 集群内对集成工具的安全无密访问。它充当代理服务器,负责认证注入和请求路由到目标工具。
ConnectorsProxy
使客户端能够在不直接处理凭证的情况下访问工具资源。这种方式带来了显著的安全优势:
平台支持内置和自定义代理实现,以满足多样化的工具认证需求。
内置实现提供了对 HTTP/HTTPS 协议的全面支持,支持 Basic Auth 和 Bearer Token 认证方式。它同时支持正向和反向代理,提供最大灵活性。
被 ConnectorClass 使用:K8s ConnectorClass、Git ConnectorClass
对于需要特殊认证机制的工具,可以开发自定义代理实现。
示例:OCI ConnectorClass 使用自定义的 OCI 插件代理,支持 Harbor 和 Docker Registry 等注册中心的 OCI 协议和 Bearer Token 授权。
更多信息请参见:Connectors Proxy
Connectors API
提供基于 Connector
实例访问内部工具资源的能力。例如,对于 Git Connector
,Connectors API
可以获取 Git 仓库中的分支列表(References)。
开发者可以通过 Connectors API
方便地访问工具内的资源,无需关心具体的工具地址和认证细节。
该 API 在实际应用中非常有用,例如:
Connectors API
的实现基于 ConnectorClass API
提供的底层能力。
ConnectorClass API
定义了特定类型工具所提供的 API。
不同类型的工具可以提供不同的 API 能力,例如:
Git ConnectorClass API
可以提供获取代码仓库分支列表的能力OCI ConnectorClass API
可以提供获取制品仓库标签列表的能力开发者可以为每个 ConnectorClass
定义独特的 API 能力,这些能力最终通过 Connectors API
对外暴露给客户端。
为了方便 K8S 工作负载更容易地利用 Connectors-Proxy 的能力,可以使用 Connectors CSI Driver。
Connectors CSI Driver 可以将 ConnectorClass 中维护的配置文件模板渲染后的内容挂载到工作负载中。该配置文件可以包含访问 Connectors Proxy
的信息,使用户能够以最小的脚本修改利用 Connectors Proxy 的能力。
更多信息请参见:connectors csi driver