ConnectorsProxy
ConnectorsProxy 是 Connectors 系统的核心组件,提供了一种安全且无凭证的方式来访问 Kubernetes 集群内集成的工具。它作为一个代理服务器,负责处理认证并将请求路由到实际的工具端点。
目录
功能
无凭证访问
ConnectorsProxy 使客户端能够在无需直接处理认证凭证的情况下访问工具资源。这显著提升了安全性,具体表现为:
- 通过使用 ServiceAccount 签发的短期令牌,消除了向客户端直接分发工具凭证的需求
- 防止凭证在日志或环境变量中暴露
- 集中管理凭证
自动创建 Service
当创建 Connector 时,ConnectorsProxy 会自动:
- 创建一个用于代理的 Kubernetes Service
- 分配格式为
http://c-{connector-name}.{namespace}.svc.cluster.local的代理地址 - 将代理地址记录在 Connector 的
status.proxy.httpAddress字段中
协议支持
ConnectorsProxy 支持多种协议,能够处理不同类型的工具集成:
- 用于 REST API 的 HTTP/HTTPS 协议
- 用于代码仓库的带 HTTP 授权的 Git 协议
- 用于容器镜像仓库的带 Bearer Token 授权的 OCI 协议
使用方法
访问工具资源
使用 ConnectorsProxy 时,客户端应当:
- 使用代理地址替代原始工具地址
- 配置客户端以支持代理(如有需要)
- 通过代理端点访问资源
OCI 镜像仓库示例:
配置
ConnectorsProxy 可通过 ConnectorClass 定义进行配置:
与 CSI Driver 集成
ConnectorsProxy 可与 Connectors CSI Driver 无缝协作,提供完整的无凭证访问解决方案:
- CSI Driver 挂载必要的配置文件
- ConnectorsProxy 负责请求的实际代理
- 客户端无需管理凭证即可访问资源
此集成特别适用于以下场景:
- Kubernetes Job 中的 Git 克隆操作
- Tekton Pipelines 中的镜像推送/拉取操作
- 自定义工作负载中的 API 访问
安全注意事项
ConnectorsProxy 通过以下方式增强安全性:
- 集中管理凭证
- 防止凭证在工作负载中暴露
- 支持代理连接的 TLS 加密
- 实施适当的认证和授权机制