在指定vCPU和記憶體建立ECI Pod的情境下,如果您對規格有一定要求,例如只想使用ecs.g6規格類型系列,可添加k8s.aliyun.com/eci-instance-family
的Annotation來指定ECS規格類型系列。本文介紹建立ECI Pod時,如何指定或排除ECS規格類型系列。
功能說明
指定vCPU和記憶體建立ECI Pod時,系統會使用多種ECS規格進行支撐,並自動選擇滿足vCPU和記憶體條件且有庫存的規格。此時,您可以添加Annotation(k8s.aliyun.com/eci-instance-family
)來指定或排除ECS規格類型系列。
如果指定了某些ECS規格類型系列,則系統僅會從相應的ECS規格類型系列中進行選擇。如果指定的ECS規格類型系列沒有庫存,則不會建立ECI Pod。
如果排除了某些ECS規格類型系列,則系統在選擇規格時會排除這些規格類型系列,從其他ECI支援的ECS規格類型系列中選擇規格。
可以配合使用k8s.aliyun.com/eci-instance-generation
來指定或排除ECS規格代數,實現更精細的規格控制。
支援指定或排除的ECS規格類型系列如下:
架構 | ECS規格代數 | ECS規格類型系列 |
Arm | 8 | g8y、c8y、r8y |
x86 | 8 | g8i、c8i、r8i、hfg8i、hfc8i、hfr8i |
7 | g7、c7、r7、hfg7、hfc7、hfr7、g7ne | |
6 | g6e、g6、c6e、c6、r6e、r6、hfc6、hfg6 | |
5 | u1、g5、g5ne、c5、r5、ic5、hfc5、hfg5 | |
4 | sn2ne、sn1ne、se1ne、se1 |
關於ECS規格的詳細資料,請參見:
注意事項
指定或排除ECS規格類型系列建立的ECI Pod按照實際產生的ECS規格進行計費,不按照vCPU和記憶體計費。
重要ECI Pod建立成功後,您可以執行
kubectl describe pod
命令查看其YAML詳情,通過k8s.aliyun.com/eci-instance-spec
欄位確認ECI Pod實際使用的ECS規格,ECI會按照該ECS規格進行計費。指定或排除ECS規格類型系列時,系統無法自動選擇到某些規格,如GPU規格(gn6i等)、本地碟規格(i2g等)等。如有需要,請明確指定ECS規格來建立ECI Pod。具體操作,請參見指定ECS規格建立Pod。
指定或排除ECS規格類型系列的功能僅適用於指定vCPU和記憶體規格的情境,如果優先指定的是ECS規格,則該功能不會生效。
支援指定或排除規格類型系列建立搶佔式執行個體,該情境下系統會綜合考量配置的規格類型系列順序和市場價格(價格優先),為您選擇最優的執行個體規格。如果您對規格類型系列有嚴格要求,建議只配置一個規格類型系列。
配置說明
k8s.aliyun.com/eci-instance-family
的取值為ECS規格類型系列,相關說明如下:
可配置多個規格類型系列,取值範圍為ECI支援的ECS規格類型系列。
重要目前8代規格僅支援Arm架構規格,建立Pod時需要通過nodeSelector調度到Arm節點,因此無法與其他x86架構的規格同時配置,只能單獨指定或排除Arm規格類型系列,具體配置樣本請參見樣本五:指定Arm規格類型系列。
在規格類型系列前加上
-
表示排除該規格類型系列。例如:
k8s.aliyun.com/eci-instance-family: "-ecs.c6, -ecs.c5"
表示排除ecs.c6和ecs.c5規格類型系列。對於指定的規格類型系列,系統會按照配置的順序進行選擇。
例如:
k8s.aliyun.com/eci-instance-family: "ecs.c6, ecs.c5"
表示優先使用ecs.c6規格類型系列,當ecs.c6規格類型系列中,滿足vCPU和記憶體條件的規格庫存不足時,使用ecs.c5規格類型系列。如果ecs.c5規格類型系列仍庫存不足,則建立失敗。
使用k8s.aliyun.com/eci-instance-family
時,必須先指定vCPU和記憶體規格,您可以通過以下兩種方式指定:
通過定義容器的limits或requests來指定,建議使用limits。
在Pod metadata中添加
k8s.aliyun.com/eci-use-specs
的Annotation來指定。