赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 弹性容器实例 ECI
  4. 操作指南
  5. 镜像
  6. 拉取自建镜像仓库的镜像

拉取自建镜像仓库的镜像

  • 镜像
  • 发布于 2025-04-15
  • 0 次阅读
文档编辑
文档编辑

拉取自建镜像仓库中的镜像时,可能会碰到因协议不同或者证书认证失败而导致镜像拉取失败的问题。本文介绍在自建镜像仓库采用HTTP协议和使用自签发证书的情况下,如何拉取自建镜像仓库中的镜像来创建ECI Pod或者ImageCache。

功能说明

拉取自建镜像仓库中的镜像时,可能会碰到“ErrImagePull”告警事件,出现镜像拉取失败的问题。在保证ECI与镜像仓库网络连通性的前提下,问题原因和解决方法如下:

场景

原因

解决方法

自建镜像仓库采用HTTP协议。

ECI默认使用HTTPS协议拉取镜像,协议不同导致镜像拉取失败。

配置ECI使用HTTP协议与镜像仓库进行交互。

自建镜像仓库采用HTTPS协议,但使用的证书是自签发证书。

使用自签发证书的情况下,拉取镜像时无法通过证书认证,导致镜像拉取失败。

配置跳过证书认证。

配置说明

拉取自建镜像仓库中的镜像时,如果镜像仓库采用HTTP协议,或者使用自签发证书,需配置Annotation来避免镜像拉取失败。相关Annotation说明如下:

配置项

示例值

说明

k8s.aliyun.com/plain-http-registry

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

取值为自建镜像仓库地址。

拉取采用HTTP协议的自建镜像仓库中的镜像时,需配置该Annotation,使得ECI使用HTTP协议拉取镜像,避免因协议不同而导致镜像拉取失败。

k8s.aliyun.com/insecure-registry

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

取值为自建镜像仓库地址。

拉取使用自签发证书的自建镜像仓库中的镜像时,需配置该Annotation来跳过证书认证,避免因证书认证失败而导致镜像拉取失败。

说明
  • 如果有多个容器的镜像需要从不同的镜像仓库中拉取,支持填写多个镜像仓库地址,各个地址之间采用半角逗号隔开,例如harbor***.pre.com,192.168.XX.XX。

  • 如果镜像仓库地址有端口号,则需要带上端口号,例如:镜像地址为192.168.XX.XX:5000/nginx:latest,则参数值需设置为192.168.XX.XX:5000。

配置示例

拉取自建镜像仓库中的镜像创建ECI Pod

重要
  • Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。

  • 仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。

  • 示例一:自建镜像仓库采用HTTP协议

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          annotations:
            k8s.aliyun.com/plain-http-registry: "192.168.XX.XX:5000" # 指定自建镜像仓库地址,使用HTTP协议拉取镜像
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
        spec:
          containers:
          - name: nginx
            image: 192.168.XX.XX:5000/test/nginx:latest
  • 示例二:自建镜像仓库使用自签发证书

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          annotations:
            k8s.aliyun.com/insecure-registry: "harbor***.pre.com" # 指定自建镜像仓库地址,拉取镜像时跳过证书认证
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
        spec:
          containers:
          - name: nginx
            image: harbor***.pre.com/test/nginx:latest

拉取自建镜像仓库中的镜像创建ImageCache

  • 示例一:自建镜像仓库采用HTTP协议

    apiVersion: eci.alibabacloud.com/v1
    kind: ImageCache
    metadata:
      name: imagecache-sample
      annotations:
        k8s.aliyun.com/plain-http-registry: "192.168.XX.XX:5000"  # 指定自建镜像仓库地址,使用HTTP协议拉取镜像
    spec:
      images:
      - 192.168.XX.XX:5000/test/nginx:latest
      imagePullSecrets:
      - default:secret1
      - default:secret2
      - kube-system:secret3
      imageCacheSize:
       25
      retentionDays:
       7
  • 示例二:自建镜像仓库使用自签发证书

    apiVersion: eci.alibabacloud.com/v1
    kind: ImageCache
    metadata:
      name: imagecache-sample
      annotations:
        k8s.aliyun.com/insecure-registry: "harbor***.pre.com"  # 指定自建镜像仓库地址,拉取镜像时跳过证书认证
    spec:
      images:
      - harbor***.pre.com/test/nginx:latest
      imagePullSecrets:
      - default:secret1
      - default:secret2
      - kube-system:secret3
      imageCacheSize:
       25
      retentionDays:
       7
相关文章

使用ImageCache加速创建ECI Pod 2025-04-15 17:15

阿里云以ImageCache CRD的方式将ECI的镜像缓存(即ImageCache)功能提供给Kubernetes用户,以便在Kubernetes集群中也可以使用该功能来加速创建ECI Pod。本文介绍ImageCache的功能,以及如何创建和使用ImageCache。 ImageCache介绍

免密拉取ACR镜像 2025-04-15 17:15

对于阿里云容器镜像服务ACR的镜像,ECI支持免密拉取,以提升效率和安全性。本文介绍如何免密拉取ACR镜像。 背景信息 阿里云容器镜像服务ACR分为个人版和企业版。其中,企业版是企业级云原生应用制品管理平台,提供容器镜像、Helm Chart以及符合OCI规范制品的生命周期管理

使用免密组件托管版拉取容器镜像 2025-04-15 17:15

managed-aliyun-acr-credential-helper组件支持在ACK集群Pro版、ACK Serverless集群Pro版和ACK Edge集群中免密拉取容器镜像服务ACR企业版和个人版的镜像,本文通过常用场景介绍如何使用免密组件托管版拉取私有镜像。

拉取自建镜像仓库的镜像 2025-04-15 17:15

拉取自建镜像仓库中的镜像时,可能会碰到因协议不同或者证书认证失败而导致镜像拉取失败的问题。本文介绍在自建镜像仓库采用HTTP协议和使用自签发证书的情况下,如何拉取自建镜像仓库中的镜像来创建ECI Pod或者ImageCache。 功能说明 拉取自建镜像仓库中的镜像时,可能会碰到“ErrImageP

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号