弹性容器实例支持指定 VCI 规格来创建 VCI 实例。本文主要介绍指定 VCI 规格创建实例的方法。
说明
创建 Pod 或者工作负载(包括 Deployment、StatefulSet、Job、CronJob)时,通过添加 Annotation,指定 VCI 规格创建实例。
Annotation 说明,如下所示。
Annotation Key | Annotation Value 示例值 | 说明 | 是否必填 |
---|---|---|---|
vci.vke.volcengine.com/preferred-instance-types | vci.g1v.8xlarge | GPU 计算型 中的实例规格。 注意
| 本场景必填 |
vci.vke.volcengine.com/gpu-driver-version | tesla-470.129.06 | 指定 GPU 计算型实例的驱动版本。Annotation Value 格式为: 根据 说明 未设置该 Annotation 时,系统自动指定与您所选 GPU 计算型规格对应的默认 NVIDIA 驱动版本。 | 非必填 |
实例规格 | NVIDIA 驱动版本 | 推荐的 CUDA 版本 |
---|---|---|
gni3 | 535.161.07(默认) |
注意 建议使用与驱动版本相匹配的 CUDA 版本,否则可能影响 GPU 性能。 |
gni2 |
| |
ini2 |
| |
g1v |
|
以创建无状态负载(Deployment)为例,完整的示例代码如下所示:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: annotations: vke.volcengine.com/burst-to-vci: enforce #强制使用 VCI。 vci.vke.volcengine.com/preferred-instance-types: vci.g1v.8xlarge #指定实例 GPU 规格。 vci.vke.volcengine.com/gpu-driver-version: tesla-470.129.06 #指定实例的 GPU 驱动。 labels: app: nginx spec: containers: - image: cr-cn-beijing.volces.com/tw/nginx:1.0 # 容器镜像的地址和版本,请配置为您自己的镜像地址。 imagePullPolicy: Always name: nginx resources: requests: #指定容器的 vCPU、内存、GPU。 cpu: "500m" memory: "1024Mi" nvidia.com/gpu: 1 #可以同时指定 limit 和 request,但值必须相等。 limits: cpu: "1" memory: "2048Mi" nvidia.com/gpu: 1 #指定 container gpu 数量(同原生)。
说明
Pod.spec.container[].resources
的 GPU 设置,需与原生 Kubernetes 能力和限制相同:
<vendor>.com/gpu
指定 GPU 资源。limit
。limit
和request
,但值必须相等。rquest
,Kubernetes 默认将limit
值作为request
值。说明
VCI 场景中暂不支持使用 mGPU 资源类型。
Pod.spec.container[].resources.limit.'<vendor>.com/gpu'
中的<vendor>
必须与实例规格族 GPU 对应的供应商一致。说明
当前 GPU 显卡为 NVIDIA 显卡。因此<vendor>
为nvidia
。
注意
合计数值小于规格数值时,将按规格数值创建实例和计费。若 Container 内指定的 GPU 数值小于规格数值可能会造成资源浪费,请合理规划实例规格。