
# 使用镜像快照
使用镜像快照创建Pod，支持以下两种方式：
- 自动匹配
自动匹配将从所有用户创建的可用的镜像快照中选择最优的镜像。按以下顺序进行匹配：
a. 镜像匹配度：优先选择匹配度高的镜像快照，匹配度指的是Pod和镜像快照两者在镜像上的匹配情况。
b. 创建时间：优先选择创建时间更新的镜像快照。
- 明确指定
明确指定使用的镜像快照。该镜像缓存必须为创建完成可用（Available）状态。
![](https://support.huaweicloud.com/devg-cci/public_sys-resources/note_3.0-zh-cn.png)
如果同时使用明确指定和自动匹配两种镜像快照方式创建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
```
