拉取自建镜像仓库的镜像
拉取自建镜像仓库中的镜像时,可能会碰到因协议不同或者证书认证失败而导致镜像拉取失败的问题。本文介绍在自建镜像仓库采用HTTP协议和使用自签发证书的情况下,如何拉取自建镜像仓库中的镜像来创建CCI Pod。
配置说明
annotation |
示例值 |
配置说明 |
---|---|---|
cci.io/http-registries |
"harbor.***.com,192.168.XX.XX:5000,100.95.XX.XX,http://harbor.***.com" |
拉取采用HTTP协议的自建镜像仓库中的镜像时,需配置该Annotation,使用逗号分隔多个地址。允许存在http://前缀,端口,相对路径,允许使用vpc ip地址、域名、公网ip地址,不允许填空地址,最多填入10个地址。 |
cci.io/insecure-registries |
"harbor.***.com,192.168.XX.XX:5000,100.95.XX.XX,https://harbor.***.com" |
拉取使用自签发证书的自建镜像仓库中的镜像时,需配置该Annotation来跳过证书认证,使用逗号分隔多个地址。允许存在https://前缀,端口,相对路径,允许使用vpc ip地址、域名、公网ip地址,不允许填空地址,最多填入10个地址。 |

- 如果镜像仓库地址有端口号,则需要带上端口号,例如:镜像地址为192.168.XX.XX:5000/nginx:latest,则cci.io/http-registries可设置为"192.168.XX.XX:5000"。
- 使用HTTP协议存在数据传输不加密、易受中间人攻击和缺乏身份验证等风险,可能会导致数据泄露、业务受损等,推荐使用https协议拉取镜像。
配置示例一:自建镜像仓库采用HTTP协议
- 创建2U4G Deployment
apiVersion: cci/v2 kind: Deployment metadata: labels: app: http name: http spec: replicas: 1 selector: matchLabels: app: http template: metadata: labels: app: http annotations: resource.cci.io/pod-size-specs: 2.00_4.0 cci.io/http-registries: 192.168.XX.XX spec: containers: - image: 192.168.XX.XX/harbor/nginx:latest name: container-0 imagePullSecrets: - name: harbor-secret-new
- 创建2U4G Pod
apiVersion: cci/v2 kind: Pod metadata: annotations: resource.cci.io/pod-size-specs: 2.00_4.0 cci.io/http-registries: 192.168.XX.XX name: http spec: containers: - image: '192.168.XX.XX/harbor/nginx:latest' imagePullPolicy: IfNotPresent name: container-1 imagePullSecrets: - name: harbor-secret
配置示例二:自建镜像仓库使用自签发证书
- 创建2U4G Deployment
apiVersion: cci/v2 kind: Deployment metadata: labels: app: insecure name: insecure spec: replicas: 1 selector: matchLabels: app: insecure template: metadata: labels: app: insecure annotations: resource.cci.io/pod-size-specs: 2.00_4.0 cci.io/insecure-registries: 192.168.XX.XX spec: containers: - image: 192.168.XX.XX/harbor/nginx:latest name: container-0 imagePullSecrets: - name: harbor-secret-new
- 创建2U4G Pod
apiVersion: cci/v2 kind: Pod metadata: annotations: resource.cci.io/pod-size-specs: 2.00_4.0 cci.io/insecure-registries: 192.168.XX.XX name: insecure spec: containers: - image: '192.168.XX.XX/harbor/nginx:latest' imagePullPolicy: IfNotPresent name: container-1 imagePullSecrets: - name: harbor-secret