OCI ConnectorClass
OCI ConnectorClass 是用于定义 OCI Connector 的连接器类。它允许用户在集群内轻松访问 OCI Registry(OCI 镜像仓库)。
目录
访问要求
要访问的 OCI Registry 必须满足以下条件:
-
接口实现要求:
- 必须至少实现 opencontainers/distribution-spec v1.0 规范中定义的接口。
- 必须能够通过 distribution-spec 的 一致性测试。
-
认证方式要求:
- 必须实现基于 Token 的认证,并符合 CNCF Distribution Token Authentication Specification。
快速开始
Connector 参数约束
spec.connectorClassName
必须使用常量值 oci。
spec.address
指定 OCI Registry 的访问地址,例如:http://harbor.example.com。
spec.auth.name
OCI Connector 支持的认证类型:
tokenAuth:基于 Token 的认证(可选)- 对应的凭证类型:
cpaas.io/distribution-registry-token,该类型凭证用于 CNCF Distribution Token Authentication Specification 定义的认证流程,凭证必须提供username和password信息。
- 对应的凭证类型:
示例:
如果目标 OCI Registry 不需要认证,则可以省略认证信息。配置示例如下:
spec.auth.params[]
健康检查配置:
repository:指定用于健康检查的镜像仓库,例如:library/ubuntu。
功能说明
健康检查
创建 Connector 后,系统将执行以下操作:
- 使用
spec.auth.params[name=repository]指定的镜像仓库进行健康检查。 - 将检查结果存储在
status.conditions[type=AuthReady]字段中。
配置信息
OCI ConnectorClass 提供以下配置:
docker-config:Docker 配置信息。- 提供
config.json配置文件。 - 包含访问代理所需的认证信息。
- 提供
示例:
dockerd:Docker Daemon 的配置信息。会提供一个daemon.json配置文件,默认情况下,Docker daemon 配置会将当前连接器设置为insecure-registries。
示例:
buildkitd:BuildKit Daemon 的配置信息。会提供一个buildkitd.toml配置文件,默认情况下,BuildKit daemon 配置会将当前连接器设置为insecure-registries。
示例:
您可以通过 connectors-csi 将该配置信息挂载到 Pod 中,实现无密钥(Secretless)镜像推送或拉取。
代理信息
创建 Connector 后,系统将:
- 自动创建用于代理的 Service。
- 在
status.proxy.httpAddress字段记录代理地址。
您可以使用该代理地址进行镜像的推送和拉取操作。
示例: