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

使用ImageCache加速創建ECI Pod

阿里云以ImageCache CRD的方式將ECI的鏡像緩存(即ImageCache)功能提供給Kubernetes用戶,以便在Kubernetes集群中也可以使用該功能來加速創建ECI Pod。本文介紹ImageCache的功能,以及如何創建和使用ImageCache。

ImageCache介紹

在運行容器前,ECI需要先拉取您指定的容器鏡像,但因網絡和容器鏡像大小等因素,鏡像拉取耗時往往成為ECI Pod啟動的主要耗時。為加速ECI Pod創建,ECI提供了鏡像緩存功能,可以預先將需要使用的鏡像制作成緩存快照。后續基于鏡像緩存來創建ECI Pod,可以避免或減少鏡像層的下載,從而提升ECI Pod的創建速度。更多信息,請參見鏡像緩存概述

說明

具體提升速度由ECI Pod中使用的鏡像個數、鏡像大小和網絡因素等決定。

通過在Kubernetes集群中部署ImageCache CRD的方式,Kubernetes用戶也可以使用鏡像緩存功能來加速創建ECI Pod。ImageCache是ECI定義的一種資源類型,一個ImageCache對應一個鏡像緩存。

ACK Serverless集群中默認已部署ImageCache CRD,您可以通過kubectl get crd/imagecaches.eci.alibabacloud.com命令確認集群是否支持ImageCache。

  • 如果返回imagecaches.eci.alibabacloud.com的信息,表示集群已支持ImageCache。

  • 如果返回Error信息,表示集群不支持ImageCache,請將ACK Virtual Node組件升級到最新版本。

ImageCache計費

在創建和使用ImageCache時,可能會收取相關資源費用。具體請參見鏡像緩存計費

創建ImageCache

ImageCache的創建方式分為以下兩種:

創建方式

說明

自動創建

創建ECI Pod時,如果開啟了自動匹配ImageCache,則在未匹配到的情況下,系統會在創建ECI Pod的同時,自動創建一個ImageCache,后續可以使用該ImageCache加速創建使用同一鏡像的ECI Pod。

手動創建

如果您的業務在首次創建Pod時就需要加速,您可以在創建Pod前,自定義編寫ImageCache的YAML來創建ImageCache。具體操作,請參見管理ImageCacheImageCache Annotation

說明
  • 除了首次創建就需要加速的場景外,推薦您使用自動創建的ImageCache以節約成本。

  • 更多關于手動創建的ImageCache和自動創建的ImageCache的信息,請參見創建方式

使用ImageCache

ImageCache是Cluster級別的資源,因此在不同的namespace下創建Pod時均可以使用ImageCache來實現加速創建Pod。使用ImageCache創建Pod時,請注意以下事項:

  • Pod內容器的鏡像建議采用已有ImageCache的鏡像,可以提高匹配度。

  • Pod中容器的鏡像拉取策略(ImagePullPolicy)建議設置為按需拉取(IfNotPresent),可以避免鏡像層重復下載。

使用ImageCache創建Pod包括自動匹配和明確指定兩種方式。您可以在Pod級別的metadata中添加Annotation來配置。相關Annotation如下:

說明
  • 建議使用自動匹配方式。如果同時設置了兩種方式,則明確指定方式的優先級高于自動匹配方式。更多信息,請參見鏡像緩存概述

  • 使用自動匹配方式時,如果您的業務場景希望在完全匹配的情況下才使用ImageCache,可以設置imc-perfect-matchimc-match-count-request。此時,建議使用imc-perfect-match;如果同時設置兩者,imc-perfect-match的優先級更高。

使用方式

配置項

示例值

說明

自動匹配

k8s.aliyun.com/eci-auto-imc

"true"

是否自動匹配ImageCache,默認為true,表示系統會根據匹配策略自動匹配最優的ImageCache創建Pod。匹配策略的優先級從高到低依次為:鏡像匹配度、匹配的鏡像大小、創建時間。

如果沒有完全匹配,系統會在創建Pod的同時自動創建對應的ImageCache。

k8s.aliyun.com/imc-perfect-match

"true"

Pod內所有容器鏡像是否均要完全匹配ImageCache。默認為false。

k8s.aliyun.com/imc-match-count-request

"2"

Pod內要完全匹配ImageCache的容器鏡像個數。

明確指定

k8s.aliyun.com/eci-imc-id

imc-2zebxkiifuyzzlhl****

明確指定使用某個ImageCache創建Pod。

重要
  • Annotation請添加在Pod的metadata下,例如:創建Deployment時,Annotation需添加在spec>template>metadata下。

  • 僅支持在創建ECI Pod時添加ECI相關Annotation來生效ECI功能,更新ECI Pod時添加或者修改ECI相關Annotation均不會生效。

示例一:自動匹配ImageCache

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-auto-imc: "true"       # 開啟自動匹配ImageCache
        k8s.aliyun.com/imc-perfect-match: "true"  # 設置Pod內所有容器鏡像均需完全匹配
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        imagePullPolicy: IfNotPresent

示例二:明確指定ImageCache

重要

請確保指定的ImageCache的狀態為Ready,其它狀態的ImageCache會導致Pod創建失敗。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-imc-id: imc-2ze5tm5gehgtiiga****  # 明確指定ImageCache
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent
說明

通過eci-profile的ECI Effect能力,可以為滿足條件的ECI Pod動態追加ImageCache相關Annotation,實現自動使用ImageCache。更多信息,請參見配置eci-profile實現自動使用ImageCache