您可以使用弹性容器实例ECI的镜像缓存功能,从而加速Pod的创建过程。本文将介绍如何使用ImageCache来加速Pod的创建。
前提条件
- 确保您已经创建Serverless集群,具体操作请参阅创建Serverless集群。
- 确保kubectl工具已经连接目标集群。
配置说明
ImageCache资源是在集群级别定义的,因此在任意Namespace下创建Pod时均可以使用ImageCache来实现加速Pod的创建过程。
使用ImageCache创建Pod包括自动匹配和明确指定两种方式。您可以通过在Pod级别的metadata中添加相应annotations进行配置:
- k8s.ctyun.cn/eci-image-cache:根据匹配策略,ImageCache能够自动为Pod选择最优的缓存,从而加速Pod的创建过程。如果当前没有符合条件的缓存,系统会在创建Pod时自动创建一个ImageCache。
- k8s.ctyun.cn/eci-image-snapshot-id:明确指定使用哪个镜像缓存来加速创建Pod。
在使用ImageCache创建Pod时,请注意以下几点:
- 建议在Pod中使用ImageCache的镜像,以提高匹配度。
- 建议将Pod中容器的镜像拉取策略设置为按需拉取,以避免重复下载镜像层。
自动匹配ImageCache
创建Pod时,您可以使用annotations来声明使用自动匹配模式的ImageCache以加速Pod的创建。ECI将根据匹配策略,并基于已有的ImageCache列表选择最优的ImageCache来创建Pod。匹配策略的优先级从高到低依次为:镜像匹配度、匹配的镜像大小以及创建时间。
- Deplyoment示例
apiVersion: apps/v1
kind: Deployment
metadata:
name:nginx-auto-match
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
k8s.ctyun.cn/eci-image-cache: "true" #开启自动匹配ImageCache
spec:
containers:
- name: nginx
image: registry-huadong1.crs-internal.ctyun.cn/open-source/nginx:1.25-alpine
imagePullPolicy: IfNotPresent
- Pod示例
apiVersion: v1
kind: Pod
metadata:
annotations:
k8s.ctyun.cn/eci-image-cache: "true" #开启自动匹配ImageCache
name: nginx-auto-match
spec:
containers:
- image: registry-huadong1.crs-internal.ctyun.cn/open-source/nginx:1.25-alpine
imagePullPolicy: IfNotPresent
name: nginx
明确指定ImageCache
在创建Pod时,您可以使用Annotation来声明使用指定的ImageCache以加速Pod的创建。
- Deplyoment示例
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-imagecache-id labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.ctyun.cn/eci-image-snapshot-id: imc-dfaegb*** #明确指定ImageCache spec: containers: - name: nginx image: registry-huadong1.crs-internal.ctyun.cn/open-source/nginx:1.25-alpine imagePullPolicy: IfNotPresent
- Pod示例
apiVersion: v1 kind: Pod metadata: annotations: k8s.ctyun.cn/eci-image-snapshot-id: imc-dfaegb*** #明确指定ImageCache name: nginx-imagecache-id spec: containers: - image: registry-huadong1.crs-internal.ctyun.cn/open-source/nginx:1.25-alpine imagePullPolicy: IfNotPresent name: nginx