使用镜像快照
使用镜像快照创建Pod,支持以下两种方式:
- 自动匹配
自动匹配将从所有用户创建的可用的镜像快照中选择最优的镜像。按以下顺序进行匹配:
a. 镜像匹配度:优先选择匹配度高的镜像快照,匹配度指的是Pod和镜像快照两者在镜像上的匹配情况。
b. 创建时间:优先选择创建时间更新的镜像快照。
- 明确指定
明确指定使用的镜像快照。该镜像缓存必须为创建完成可用(Available)状态。
 
 
  如果同时使用明确指定和自动匹配两种镜像快照方式创建Pod时,如果两者冲突,会返回400报错。
自动匹配
创建CCI实例时,可以通过注解中添加以下键值来开启自动匹配镜像快照。
| 名称 | 示例值 | 描述 | 
|---|---|---|
| cci.io/image-snapshot-auto-match | "true" | 设置是否开启自动匹配镜像快照。 | 
以创建Deployment为例:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
      annotations:
        cci.io/image-snapshot-auto-match: "true"
    spec:
      containers:
        - image: redis
          name: container-0
          resources:
            limits:
              cpu: 500m
              memory: 1024Mi
            requests:
              cpu: 500m
              memory: 1024Mi
      imagePullSecrets:
        - name: imagepull-secret
 明确指定
明确指定和自动匹配同时使用,明确指定具有高优先级。
创建CCI实例时,可以通过注解中添加以下键值来明确指定镜像快照。
| 名称 | 示例值 | 描述 | 
|---|---|---|
| cci.io/image-snapshot-specified-name | "my-imagesnapshot" | 指定的镜像快照名称。 | 
以创建Deployment为例:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
      annotations:
        cci.io/image-snapshot-auto-match: "false"
        cci.io/image-snapshot-specified-name: "my-imagesnapshot"
    spec:
      containers:
        - image: redis
          name: container-0
          resources:
            limits:
              cpu: 500m
              memory: 1024Mi
            requests:
              cpu: 500m
              memory: 1024Mi
      imagePullSecrets:
        - name: imagepull-secret
  
  