指定算力類別創(chuàng)建Pod
大部分場(chǎng)景下,如果沒有特殊的規(guī)格需求(如GPU、本地盤等),推薦您指定vCPU和內(nèi)存來創(chuàng)建ECI Pod(即ECI實(shí)例)。在此基礎(chǔ)上,您可以進(jìn)一步指定算力類別。例如:對(duì)于0.25~8 vCPU的規(guī)格需求,在輕量型應(yīng)用等入門場(chǎng)景,您可以選擇經(jīng)濟(jì)型規(guī)格來滿足降低成本的需求;對(duì)于1 vCPU及以上的規(guī)格需求,如果性能需求較高,則可以選擇通用型規(guī)格。
算力類別說明
為了更好地滿足低成本或性能穩(wěn)定的需求,ECI推出了指定算力類別功能。當(dāng)您采用指定vCPU和內(nèi)存方式創(chuàng)建ECI實(shí)例時(shí),ECI會(huì)將底層規(guī)格分為經(jīng)濟(jì)型和通用型兩個(gè)算力類別。您可以按需選擇,系統(tǒng)會(huì)從對(duì)應(yīng)類別的底層規(guī)格中自動(dòng)選擇合適的規(guī)格。
經(jīng)濟(jì)型(economy)
支持的vCPU范圍為0.25~8 vCPU,規(guī)格單價(jià)相比通用型更低。
通用型(general)
支持的vCPU范圍為1~64 vCPU,規(guī)格單價(jià)與未開通指定算力類別時(shí)的ECI規(guī)格定價(jià)一致。在相同vCPU和內(nèi)存條件下,通用型規(guī)格的性能更優(yōu)。
如何選擇算力類別
您可以根據(jù)業(yè)務(wù)情況,以及對(duì)低成本、性能穩(wěn)定或高可用等需求,來選擇合適的算力類別。建議如下:
對(duì)于輕量型應(yīng)用等入門場(chǎng)景,可以選擇經(jīng)濟(jì)型規(guī)格來降低資源成本。
對(duì)于性能需求較高的業(yè)務(wù)場(chǎng)景,可以選擇通用型規(guī)格,該類別規(guī)格性能更優(yōu),并且與未指定算力類別相比,性能表現(xiàn)更穩(wěn)定。
為了避免庫(kù)存不足的情況,如果您的業(yè)務(wù)對(duì)性能波動(dòng)有一定的容忍,可以指定多個(gè)算力類別來保證高可用。
規(guī)格說明
ECI支持的經(jīng)濟(jì)型和通用型的詳細(xì)規(guī)格如下:
各規(guī)格支持的臨時(shí)存儲(chǔ)空間大小默認(rèn)均為30 GiB。
經(jīng)濟(jì)型規(guī)格
vCPU | 內(nèi)存(GiB) | 網(wǎng)絡(luò)基準(zhǔn)帶寬能力(出+入)(Gbit/s) |
0.25 | 0.5、1 | 0.08 |
0.5 | 1、2 | 0.08 |
1 | 2、4、8 | 0.08 |
2 | 1、2、4、8、16 | 0.2 |
4 | 2、4、8、16、32 | 0.4 |
8 | 4、8、16、32、64 | 0.8 |
下表中的規(guī)格僅在部分地域支持,創(chuàng)建以下規(guī)格的ECI實(shí)例時(shí)請(qǐng)確保已指定支持的地域和可用區(qū),否則會(huì)因?yàn)闊o庫(kù)存而導(dǎo)致創(chuàng)建失敗。
支持的地域?yàn)椋喝A東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、新加坡。
不支持指定下表中的規(guī)格創(chuàng)建搶占式實(shí)例。
vCPU | 內(nèi)存(GiB) | 網(wǎng)絡(luò)基準(zhǔn)帶寬能力(出+入)(Gbit/s) |
2 | 6、10、12、14 | 0.2 |
4 | 6、10、12、14、18、20、22、24、26、28、30 | 0.4 |
6 | 6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48 | 0.8 |
8 | 10、12、14、18、20、22、24、26、28、30、34、36、38、40、42、44、46、48、50、52、54、56、58、60、62 | 0.8 |
通用型規(guī)格
vCPU | 內(nèi)存(GiB) | 網(wǎng)絡(luò)基準(zhǔn)帶寬能力(出+入)(Gbit/s) |
1 | 2、4、8 | 1 |
2 | 1、2、4、8、16 | 1 |
4 | 2、4、8、16、32 | 1.5 |
8 | 4、8、16、32、64 | 2 |
12 | 12、24、48、96 | 2.5 |
16 | 16、32、64 、128 | 3 |
24 | 24、48、96、192 | 4.5 |
32 | 32、64、128、256 | 6 |
52 | 96、192、384 | 12.5 |
64 | 128、256、512 | 20 |
下表中的規(guī)格僅在部分地域支持,創(chuàng)建以下規(guī)格的ECI實(shí)例時(shí)請(qǐng)確保已指定支持的地域和可用區(qū),否則會(huì)因?yàn)闊o庫(kù)存而導(dǎo)致創(chuàng)建失敗。
支持的地域?yàn)椋喝A東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、新加坡。
不支持指定下表中的規(guī)格創(chuàng)建搶占式實(shí)例。
vCPU | 內(nèi)存(GiB) | 網(wǎng)絡(luò)基準(zhǔn)帶寬能力(出+入)(Gbit/s) |
2 | 6、10、12、14 | 1 |
4 | 6、10、12、14、18、20、22、24、26、28、30 | 1.5 |
6 | 6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48 | 1.5 |
8 | 10、12、14、18、20、22、24、26、28、30、34、36、38、40、42、44、46、48、50、52、54、56、58、60、62 | 2.5 |
計(jì)費(fèi)說明
經(jīng)濟(jì)型規(guī)格和通用型規(guī)格目前處于公測(cè)中。
經(jīng)濟(jì)型規(guī)格
相比于未指定算力類別時(shí)的規(guī)格,經(jīng)濟(jì)型規(guī)格的內(nèi)存單價(jià)與之前一致,vCPU單價(jià)更低。
vCPU單價(jià)(vCPU):0.000027 元/秒(0.0972 元/小時(shí))
內(nèi)存單價(jià)(GiB): 0.00000613 元/秒(0.0221 元/小時(shí))
通用型規(guī)格
與未開通指定算力類別時(shí)的ECI規(guī)格定價(jià)一致。
vCPU單價(jià)(vCPU):0.000049 元/秒(0.1764 元/小時(shí))
內(nèi)存單價(jià)(GiB): 0.00000613 元/秒(0.0221 元/小時(shí))
ECI Pod創(chuàng)建成功后,您可以執(zhí)行kubectl describe pod
命令查看詳情,通過k8s.aliyun.com/eci-instance-compute-category
字段確認(rèn)ECI Pod實(shí)際使用的算力類別。計(jì)費(fèi)會(huì)按照對(duì)應(yīng)類別的規(guī)格單價(jià)計(jì)算。
使用限制
指定算力類別功能具有以下限制:
僅適用于指定vCPU和內(nèi)存創(chuàng)建ECI實(shí)例。
如果指定了ECS規(guī)格,則優(yōu)先會(huì)采用指定的ECS規(guī)格,即無法指定算力類別。
不支持搶占式實(shí)例功能。
如果同時(shí)配置了搶占式實(shí)例和指定算力類別的Annotation,系統(tǒng)會(huì)報(bào)錯(cuò)(錯(cuò)誤碼為FeatureBasedConstraintConflict)。
不支持ARM架構(gòu)的規(guī)格。
如果將ECI Pod調(diào)度到ARM架構(gòu)節(jié)點(diǎn)的同時(shí),配置了指定算力類別的Annotation,系統(tǒng)會(huì)報(bào)錯(cuò)(錯(cuò)誤碼為FeatureBasedConstraintConflict)。
不支持與以下功能同時(shí)使用:
指定或排除ECS規(guī)格族
指定或排除ECS規(guī)格代數(shù)
配置說明
指定vCPU和內(nèi)存創(chuàng)建ECI Pod時(shí),支持以下兩種方式:
指定Pod內(nèi)容器的vCPU和內(nèi)存:通過定義Containers的limits或requests來指定,建議使用limits。
指定Pod級(jí)別的vCPU和內(nèi)存:通過在Pod metadata中添加
k8s.aliyun.com/eci-use-specs
的Annotation來指定。
如果沒有指定,或者同時(shí)設(shè)置了limits、requests和k8s.aliyun.com/eci-use-specs
,實(shí)際生效情況請(qǐng)參見配置說明。
在指定vCPU和內(nèi)存的基礎(chǔ)上,您可以在Pod metadata中添加Annotation來指定算力類別,對(duì)應(yīng)Anotation為k8s.aliyun.com/eci-compute-category
,配置說明如下:
取值為
economy
(表示經(jīng)濟(jì)型)和general
(表示通用型)。支持設(shè)置多個(gè)算力類別,系統(tǒng)會(huì)按照設(shè)置順序創(chuàng)建。
Annotation請(qǐng)?zhí)砑釉赑od的metadata下,例如:創(chuàng)建Deployment時(shí),Annotation需添加在spec>template>metadata下。
僅支持在創(chuàng)建ECI Pod時(shí)添加ECI相關(guān)Annotation來生效ECI功能,更新ECI Pod時(shí)添加或者修改ECI相關(guān)Annotation均不會(huì)生效。
生效規(guī)則
開通指定算力類別功能后,根據(jù)創(chuàng)建ECI Pod時(shí)設(shè)置的條件,實(shí)際創(chuàng)建的ECI Pod所使用的規(guī)格和算力類別按以下規(guī)則生效:
ECI Pod創(chuàng)建成功后,您可以執(zhí)行kubectl describe pod
命令查看詳情,通過k8s.aliyun.com/eci-instance-compute-category
字段確認(rèn)ECI Pod實(shí)際使用的算力類別。計(jì)費(fèi)會(huì)按照對(duì)應(yīng)類別的規(guī)格單價(jià)計(jì)算。
創(chuàng)建ECI實(shí)例時(shí)設(shè)置的條件 | 實(shí)際生效情況 |
未指定vCPU和內(nèi)存,但指定了算力類別。 | 創(chuàng)建2 vCPU,4 GiB內(nèi)存的實(shí)例,算力類別為指定的類別。 |
指定了vCPU和內(nèi)存,且指定了算力類別,兩者組合后符合ECI的規(guī)格要求。 | 按照指定的條件創(chuàng)建實(shí)例。 |
指定的vCPU小于1 vCPU,但指定算力類別為通用型。 | 不符合ECI的規(guī)格要求,會(huì)自動(dòng)規(guī)整到1 vCPU的通用型規(guī)格。 |
指定的vCPU大于8 vCPU,但指定算力類別為經(jīng)濟(jì)型。 | 不符合ECI的規(guī)格要求,無法自動(dòng)規(guī)整,會(huì)出現(xiàn)報(bào)錯(cuò)。 |
指定了vCPU和內(nèi)存,且指定了算力類別,指定的vCPU屬于該算力類別的vCPU范圍,但不符合ECI的規(guī)格要求。 | 自動(dòng)按照ECI支持的規(guī)格進(jìn)行規(guī)整。規(guī)整時(shí)將向最接近的ECI規(guī)格進(jìn)行規(guī)整,需滿足指定的vCPU和內(nèi)存≤ECI規(guī)格的vCPU和內(nèi)存。 例如:指定vCPU和內(nèi)存為 |
指定了多個(gè)vCPU和內(nèi)存規(guī)格,或者多個(gè)算力類別。 | 系統(tǒng)按照以下規(guī)則選擇規(guī)格:
例如:指定vCPU和內(nèi)存為
重要 由于規(guī)格優(yōu)先級(jí)高于算力類別。在指定多個(gè)算力類別的情況下,如果指定的vCPU和內(nèi)存不符合ECI的規(guī)格要求,資源規(guī)整時(shí),系統(tǒng)會(huì)考慮所有算力類別的合集,選擇最接近您指定的vCPU和內(nèi)存規(guī)格來向上規(guī)整,如果此時(shí)規(guī)整的vCPU和內(nèi)存在某一算力類別內(nèi)不合法,那么該算力類別在當(dāng)前vCPU和內(nèi)存規(guī)格的調(diào)度中不予考慮。 例如:指定vCPU和內(nèi)存為 |
配置示例
示例一:設(shè)置容器的limits,并指定算力類別為經(jīng)濟(jì)型
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-compute-category: "economy" # 指定算力類別為經(jīng)濟(jì)型 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 resources: limits: cpu: "500m" #指定nginx容器的vCPU為0.5 vCPU memory: "1024Mi" #指定nginx容器的內(nèi)存為1 GiB - name: busybox image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30 command: ["sleep"] args: ["999999"] resources: limits: cpu: "1000m" #指定busybox容器的vCPU為1 vCPU memory: "2048Mi" #指定busybox容器的內(nèi)存為2 GiB
示例二:設(shè)置容器的limits,并指定算力類別優(yōu)先使用通用型其次使用經(jīng)濟(jì)型
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-compute-category: "general,economy" # 指定算力類別優(yōu)先使用通用型其次使用經(jīng)濟(jì)型 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 resources: limits: cpu: "2000m" #指定nginx容器的vCPU為2 vCPU memory: "4096Mi" #指定nginx容器的內(nèi)存為4 GiB - name: busybox image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30 command: ["sleep"] args: ["999999"] resources: limits: cpu: "2000m" #指定busybox容器的vCPU為2 vCPU memory: "4096Mi" #指定busybox容器的內(nèi)存為4 GiB
示例三:通過
k8s.aliyun.com/eci-use-specs
指定多個(gè)vCPU和內(nèi)存規(guī)格,并指定算力類別為通用型apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-use-specs : "2-4Gi,4-8Gi" # 指定ECI Pod的規(guī)格優(yōu)先使用2 vCPU,4 GiB內(nèi)存,其次使用4 vCPU,8 GiB內(nèi)存 k8s.aliyun.com/eci-compute-category: "economy" # 指定算力類別為經(jīng)濟(jì)型 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80