日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

拉取自建鏡像倉庫的鏡像

拉取自建鏡像倉庫中的鏡像時,可能會碰到因協議不同或者證書認證失敗而導致鏡像拉取失敗的問題。本文介紹在自建鏡像倉庫采用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