在現代雲端運算和容器化環境中,Pod執行個體是Kubernetes中最小的可部署單元,通常由一個或多個容器組成。Pod執行個體的計算類型和算力品質對於應用的效能以及資源使用率有著重要的影響。Container Compute Service (ACS)提供了多種計算類型和相對應的算力品質,以滿足多樣化的業務需求。本文主要介紹ACS Pod的使用準備工作、使用限制以及核心功能,包括安全隔離、CPU/Memory/GPU資源和規格配置、鏡像拉取、儲存、網路和日誌收集等。
計算類型定義
ACS當前提供了具有高性價比的CPU和GPU容器計算類型,不同的計算類型在資源供給上會有所區別,以適應不同的業務情境。
計算類型 | 標籤 | 特點 |
通用型(預設) | general-purpose | 滿足絕大部分無狀態微服務應用 、Java Web應用、計算類任務等。 |
效能型 | performance | 滿足效能需求更強的業務情境,如CPU Based AI/ML訓練和推理、HPC批處理等。 |
GPU型 | gpu | 滿足AI/HPC等異構計算情境,如GPU單卡、多卡推理,GPU並行計算等。 |
高效能網路GPU型(gpu-hpn) | gpu-hpn | 滿足AI/HPC等異構計算情境,如GPU分布式訓練,分布式推理,GPU高效能運算等。 |
您可以通過Pod上的alibabacloud.com/compute-class標籤來指定執行個體的計算類型。下面是基於Nginx應用的樣本編排,分別指定了計算類型為通用型general-purpose、GPU型gpu和高效能網路GPU型gpu-hpn。
通用型
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latestGPU型
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
# 指定compute-class為gpu類型
alibabacloud.com/compute-class: "gpu"
# 指定GPU型號為example-model,請按實際情況填寫,如T4
alibabacloud.com/gpu-model-series: "example-model"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
resources:
limits:
cpu: 4
memory: "8Gi"
nvidia.com/gpu: "1" # 指定GPU數量,資源標籤和數量請按實際情況填寫
requests:
cpu: 4
memory: "8Gi"
nvidia.com/gpu: "1" # 指定GPU數量,資源標籤和數量請按實際情況填寫ACS支援的GPU卡型和規格請參見加速計算類型規格表。
高效能網路GPU型
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
# 指定compute-class為gpu-hpn類型
alibabacloud.com/compute-class: "gpu-hpn"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
resources:
limits:
cpu: 4
memory: "8Gi"
nvidia.com/gpu: "1" # 指定GPU數量,資源標籤和數量請按實際情況填寫
requests:
cpu: 4
memory: "8Gi"
nvidia.com/gpu: "1" # 指定GPU數量,資源標籤和數量請按實際情況填寫如需在ACS使用高效能網路GPU,請先建立GPU-HPN容量預留。
算力品質定義
ACS當前提供了2種算力品質。不同的算力品質在資源供給上會有所區別,以適應不同的業務情境。
算力品質 | 標籤 | 特點 | 典型應用情境 |
預設型 | default |
|
|
BestEffort型 | best-effort |
|
|
您可以通過Pod上的alibabacloud.com/compute-qos標籤來指定執行個體的算力品質。下面是一個Nginx應用的樣本編排,指定了算力品質為預設型default。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
alibabacloud.com/compute-qos: default
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ACS算力品質定義和Kubernetes原生的QoS類型定義不同,目前預設型的算力品質對應Kubernetes的原生QoS Class是Guaranteed。
BestEffort算力品質執行個體為動態庫存,強烈建議您在生產環境配置庫存優先調度策略,在庫存不足時由平台自動切換至預設型。更多資訊,請參見自訂資源調度策略。
計算類型與算力品質的對應關係
計算類型(標籤) | 支援的算力品質(標籤) |
通用型(general-purpose) | 預設型(default)、BestEffort型(best-effort) |
效能型(performance) | 預設型(default)、BestEffort型(best-effort) |
GPU型(gpu) | 預設型(default)、BestEffort型(best-effort) |
高效能網路GPU型(gpu-hpn) | 預設型(default) |
指定CPU品牌
計算類型為通用型(general-purpose)及效能型(performance)當前提供了2個供應商的CPU算力,包括Intel和AMD。
您可以通過為Pod添加alibabacloud.com/cpu-vendors註解或者在工作負載Pod Template中定義alibabacloud.com/cpu-vendors註解來指定,目前指定AMD品牌的CPU,需要提交工單開啟白名單支援,除通用型(general-purpose)及效能型(performance)以外其他算力類型指定該註解會提示暫未支援CPU品牌指定。該註解支援聲明值包括:
Key | Value | 含義 |
| intel(預設值) | 指定CPU品牌為Intel,不指定的情況下為預設值 "intel"。 |
amd | 指定CPU品牌為AMD。 | |
intel,amd | 指定CPU品牌為Intel或者AMD,系統會根據庫存供給選擇合適的CPU品牌建立執行個體。填多個值的情況下,不支援自訂指定先後順序。 |
執行個體建立成功以後,可通過查看Pod YAML中alibabacloud.com/cpu-vendor標籤的值查看執行個體實際使用的CPU品牌。
以下是一個Nginx應用的樣本編排,指定了CPU品牌為amd。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
annotations:
alibabacloud.com/cpu-vendors: amd
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest 請勿將ACS系統標籤(比如alibabacloud.com/compute-class、alibabacloud.com/compute-qos、alibabacloud.com/cpu-vendor等)作為工作負載matchLabels的過濾標籤,這些標籤可能被系統修改,導致控制器頻繁重建Pod,影響應用穩定性。
核心功能
功能項 | 說明 |
安全隔離 | 作為安全可靠的Serverless容器運行環境,每個ACS Pod執行個體底層通過輕量級安全沙箱技術完全強隔離,執行個體間互不影響。同時執行個體在調度時儘可能分布在不同的物理機上,進一步保障了高可用性。 |
CPU/Memory/GPU/EphemeralStorage資源規格配置 |
|
鏡像 | ACS Pod預設每次啟動後使用與Pod關聯的VPC從遠端拉取容器鏡像。如果鏡像為公用鏡像,則需要開通VPC的NAT Gateway。建議您將容器鏡像儲存在阿里雲Container Registry (ACR),通過VPC網路減少鏡像拉取時間。另外,對於ACR上的私人鏡像,ACS提供了免密拉取ACR鏡像功能,方便您使用。 |
儲存 | ACS支援雲端硬碟、NAS、OSS和CPFS四種持久化儲存。
|
網路 | ACS Pod預設使用獨立的Pod IP,佔用交換器vSwitch的一個彈性網卡。 在ACS叢集環境中,Pod互聯互連的方法如下:
|
日誌採集 | 您可以直接配置Pod的環境變數收集 |
資源規格
在ACS叢集中,GPU和GPU-HPN計算類的Pod規格會在提交時自動規整(例如GPU計算類的Pod會被統一規整為Guaranteed QoS,Request與Limit相等)。在ACK叢集、ACK One叢集等其他渠道彈性使用ACS GPU算力時,資源規格規整不會體現在Pod中繼資料中,需要確保Pod在提交前後的QoS不變(例如GPU計算類需要確保提交時為Guaranteed QoS),以避免Pod狀態無法更新。
通用計算類型
General-Purpose計算類型
vCPU | Memory(GiB) | Memory支援步長(GiB) | 網路頻寬(出+入)(Gbits/s) | 儲存 |
0.25 | 0.5、1、2 | N/A | 0.08 | 30 GiB及以下容量免費,30 GiB以上容量將按照超出部分進行計費,最大支援配置512 GiB。 如果您需要額外的儲存空間,可以通過掛載NAS等儲存卷擴充。 |
0.5 | 1~4 | 1 | 0.08 | |
1 | 1~8 | 0.1 | ||
1.5 | 2~12 | 1 | ||
2 | 2~16 | |||
2.5 | 3~20 | 1.5 | ||
3 | 3~24 | |||
3.5 | 4~28 | |||
4 | 4~32 | |||
4.5 | 5~36 | |||
5 | 5~40 | |||
5.5 | 6~44 | |||
6 | 6~48 | |||
6.5 | 7~52 | 2.5 | ||
7 | 7~56 | |||
7.5 | 8~60 | |||
8 | 8~64 | |||
8.5 | 9~68 | |||
9 | 9~72 | |||
9.5 | 10~76 | |||
10 | 10~80 | |||
10.5 | 11~84 | |||
11 | 11~88 | |||
11.5 | 12~92 | |||
12 | 12~96 | |||
12.5 | 13~100 | 3 | ||
13 | 13~104 | |||
13.5 | 14~108 | |||
14 | 14~112 | |||
14.5 | 15~116 | |||
15 | 15~120 | |||
15.5 | 16~124 | |||
16 | 16~128 | |||
24 | 24、48、96、192 | N/A | 4.5 | |
32 | 32、64、128、256 | N/A | 6 | |
48 | 48、96、192、384 | N/A | 12.5 | |
64 | 64、128、256、512 | N/A | 20 |
Performance計算類型
vCPU | Memory(GiB) | Memory支援步長(GiB) | 網路頻寬(出+入)(Gbits/s) | 儲存 |
0.25 | 0.5、1、2 | N/A | 0.1 | 30 GiB及以下容量免費,30 GiB以上容量將按照超出部分進行計費,最大支援配置512 GiB。 如果您需要額外的儲存空間,可以通過掛載NAS等儲存卷擴充。 |
0.5 | 1~4 | 1 | 0.5 | |
1 | 1~8 | |||
1.5 | 2~12 | |||
2 | 2~16 | 1.5 | ||
2.5 | 3~20 | |||
3 | 3~24 | |||
3.5 | 4~28 | |||
4 | 4~32 | 2 | ||
4.5 | 5~36 | |||
5 | 5~40 | |||
5.5 | 6~44 | |||
6 | 6~48 | 2.5 | ||
6.5 | 7~52 | |||
7 | 7~56 | |||
7.5 | 8~60 | |||
8 | 8~64 | 3 | ||
8.5 | 9~68 | |||
9 | 9~72 | |||
9.5 | 10~76 | |||
10 | 10~80 | 3.5 | ||
10.5 | 11~84 | |||
11 | 11~88 | |||
11.5 | 12~92 | |||
12 | 12~96 | 4 | ||
12.5 | 13~100 | |||
13 | 13~104 | |||
13.5 | 14~108 | |||
14 | 14~112 | 4.5 | ||
14.5 | 15~116 | |||
15 | 15~120 | |||
15.5 | 16~124 | |||
16 | 16~128 | 6 | ||
24 | 24、48、96、192 | N/A | 8 | |
32 | 32、64、128、256 | N/A | 10 | |
48 | 48、96、192、384 | N/A | 16 | |
64 | 64、128、256、512 | N/A | 25 |
如需使用CPU超過16vCPU或記憶體超過128GiB的ACS Pod,請提交工單申請。
如不指定規格(容器的.resources.requests和.resources.limits均不設定),預設單個Pod的資源為2 vCPU和4 GiB記憶體。
ACS會自動規整Pod的規格,根據容器的.resources.requests或.resources.limits的累加值取最大值規整到一個最接近並且支援的規格,並通過alibabacloud.com/pod-use-spec註解透出。若發生了向上規整,ACS會調整容器的.resources.requests或.resources.limits以確保所有付費資源均可被使用到。
ACS Pod規格規整邏輯
以.resources.requests或.resources.limits的累加值為2 vCPU和3.5 GiB記憶體為例。在Pod啟動時,ACS會自動將Pod的規格規整為2 vCPU和4 GiB記憶體。調整的額外資源會生效到第一個容器中,同時Pod會增加註解alibabacloud.com/pod-use-spec=2-4Gi。資源聲明樣本如下:
apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
name: nginx
spec:
containers:
- name: nginx
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
ports:
- containerPort: 80
resources:
requests:
cpu: 2 # 聲明CPU為2 vCPU
memory: "3.5Gi" #聲明記憶體為 3.5 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB規整後資源聲明如下:
apiVersion: v1
kind: Pod
metadata:
annotations:
alibabacloud.com/pod-use-spec: "2-4Gi"
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
name: nginx
spec:
containers:
- name: nginx
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
ports:
- containerPort: 80
resources:
requests:
cpu: 2 # 聲明CPU為2 vCPU
memory: "4Gi" #聲明記憶體為 4 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB通過Annotation指定Pod規格
適用範圍
僅支援通用型(general-purpose)和效能型(performance)的CPU Pod。
Annotation支援的最大規格為64 vCPU/512 GiB,遵循通用計算類型規格限制。
使用方式
針對服務品質QoS為Burstable的情境(.resources.limits > .resources.requests),可通過指定Annotation alibabacloud.com/pod-required-spec: "X-YGi" 聲明 Pod 的目標資源規格。資源規格必須採用<CPU>-<Memory>格式,其中 CPU 單位為核心數(如 "2" 表示 2 vCPU),記憶體單位為 GiB(如 "4Gi" 表示 4 GiB)。詳細的資源對齊和使用規則如下:
若資源規格格式不符(如缺少單位、使用 Mi、順序顛倒等),Pod將建立失敗。
若設定了Annotation但未定義任何容器的
.resources,系統將嚴格遵循Annotation聲明值進行規整,不會回退至預設規格(如2 vCPU/4 GiB)。若Annotation聲明值小於Pod中所有容器
.resources.requests總和,Pod將建立失敗。若Annotation聲明值大於Pod中所有容器
.resources.limits總和,系統將把Annotation聲明值作為Pod的目標規整規格。在多容器 Pod 情境下,第一個容器將被識別為主容器。Annotation聲明值與
limits總和的規格差值(聲明值 - 當前limits總和)將被優先分配至主容器的.resources.limits(必要時同步調整.resources.requests),以確保Pod整體資源與目標規格對齊。
使用樣本
以配置alibabacloud.com/pod-required-spec: "2-4Gi",容器的.resources.requests或.resources.limits的累加值為1 vCPU和2 GiB記憶體為例。在Pod啟動時,ACS會自動將Pod的規格規整為2 vCPU和4 GiB記憶體。調整的額外資源會生效到第一個容器中,同時Pod會增加註解alibabacloud.com/pod-use-spec=2-4Gi。
資源聲明樣本如下:
其中.resources.limits.memory為3.5Gi。apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
annoations:
alibabacloud.com/pod-required-spec: "2-4Gi"
name: nginx
spec:
containers:
- name: nginx
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
ports:
- containerPort: 80
resources:
requests:
cpu: 1 # 聲明CPU為1 vCPU
memory: "2Gi" #聲明記憶體為 2 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB
limits:
cpu: 2 # 聲明CPU為2 vCPU
memory: "3.5Gi" #聲明記憶體為 3.5 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB規整後資源聲明如下:
其中.resources.limits.memory從3.5Gi規整為4Gi。apiVersion: v1
kind: Pod
metadata:
annotations:
alibabacloud.com/pod-required-spec: "2-4Gi"
alibabacloud.com/pod-use-spec: "2-4Gi"
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
name: nginx
spec:
containers:
- name: nginx
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
ports:
- containerPort: 80
resources:
requests:
cpu: 1 # 聲明CPU為1 vCPU
memory: "2Gi" #聲明記憶體為 2 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB
limits:
cpu: 2 # 聲明CPU為2 vCPU
memory: "4Gi" #聲明記憶體為 4 GiB
ephemeral-storage: "30Gi" #聲明儲存空間為30 GiB加速計算類型
以下為ACS支援的GPU卡型,不同卡型的規格會有一定的差異。具體規格對應關係,請提交工單擷取。
GU8TF
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(96G顯存) | 2 | 2 ~ 16 | 1 | 30 ~ 256 |
4 | 4 ~ 32 | 1 | ||
6 | 6 ~ 48 | 1 | ||
8 | 8 ~ 64 | 1 | ||
10 | 10 ~ 80 | 1 | ||
12 | 12 ~ 96 | 1 | ||
14 | 14 ~ 112 | 1 | ||
16 | 16 ~ 128 | 1 | ||
22 | 22, 32, 64, 128 | N/A | ||
2(96Gx2顯存) | 16 | 16 ~ 128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
46 | 64, 128, 230 | N/A | ||
4(96x4G顯存) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 |
64 | 64, 128, 256, 460 | N/A | ||
92 | 128, 256, 460 | N/A | ||
8(96x8G顯存) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 2048 |
128 | 128, 256, 512, 920 | N/A | ||
184 | 256, 512, 920 | N/A |
GU8TEF
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(141G顯存) | 2 | 2 ~ 16 | 1 | 30 ~ 768 |
4 | 4 ~ 32 | 1 | ||
6 | 6 ~ 48 | 1 | ||
8 | 8 ~ 64 | 1 | ||
10 | 10 ~ 80 | 1 | ||
12 | 12 ~ 96 | 1 | ||
14 | 14 ~ 112 | 1 | ||
16 | 16 ~ 128 | 1 | ||
22 | 22, 32, 64, 128, 225 | N/A | ||
2(141Gx2顯存) | 16 | 16 ~ 128 | 1 | 30 ~ 1536 |
32 | 32, 64, 128, 256 | N/A | ||
46 | 64, 128, 256, 450 | N/A | ||
4(141Gx4顯存) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 3072 |
64 | 64, 128, 256, 512 | N/A | ||
92 | 128, 256, 512, 900 | N/A | ||
8(141Gx8顯存) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 6144 |
128 | 128, 256, 512, 1024 | N/A | ||
184 | 256, 512, 1024, 1800 | N/A |
L20(GN8IS)
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB | 儲存(GiB) |
1(48G顯存) | 2 | 2 ~ 16 | 1 | 30 ~ 256 |
4 | 4 ~ 32 | 1 | ||
6 | 6 ~ 48 | 1 | ||
8 | 8 ~ 64 | 1 | ||
10 | 10 ~ 80 | 1 | ||
12 | 12 ~ 96 | 1 | ||
14 | 14 ~ 112 | 1 | ||
16 | 16 ~ 120 | 1 | ||
2(48Gx2顯存) | 16 | 16 ~ 128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
4(48Gx4顯存) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 |
64 | 64, 128, 256, 460 | N/A | ||
8(48Gx8顯存) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 2048 |
128 | 128, 256, 512, 920 | N/A |
L20X(GX8SF)
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
8(141Gx8顯存) | 184 | 1800 | N/A | 30 ~ 6144 |
P16EN
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(96G顯存) | 2 | 2~16 | 1 | 30 ~ 384 |
4 | 4~32 | 1 | ||
6 | 6~48 | 1 | ||
8 | 8~64 | 1 | ||
10 | 10~80 | 1 | ||
2(96Gx2顯存) | 4 | 4~32 | 1 | 30 ~ 768 |
6 | 6~48 | 1 | ||
8 | 8~64 | 1 | ||
16 | 16~128 | 1 | ||
22 | 32, 64, 128, 225 | N/A | ||
4(96Gx4顯存) | 8 | 8~64 | 1 | 30 ~ 1536 |
16 | 16~128 | 1 | ||
32 | 32, 64, 128, 256 | N/A | ||
46 | 64, 128, 256, 450 | N/A | ||
8(96Gx8顯存) | 16 | 16~128 | 1 | 30 ~ 3072 |
32 | 32, 64, 128, 256 | N/A | ||
64 | 64, 128, 256, 512 | N/A | ||
92 | 128, 256, 512, 900 | N/A | ||
16(96Gx16顯存) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 6144 |
64 | 64, 128, 256, 512 | N/A | ||
128 | 128, 256, 512, 1024 | N/A | ||
184 | 256, 512, 1024, 1800 | N/A |
G49E
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(48G顯存) | 2 | 2~16 | 1 | 30 ~ 256 |
4 | 4~32 | 1 | ||
6 | 6~48 | 1 | ||
8 | 8~64 | 1 | ||
10 | 10~80 | 1 | ||
12 | 12~96 | 1 | ||
14 | 14~112 | 1 | ||
16 | 16~120 | 1 | ||
2(48Gx2顯存) | 16 | 16~128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
4(48Gx4顯存) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 |
64 | 64, 128, 256, 460 | N/A | ||
8(48Gx8顯存) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 2048 |
128 | 128, 256, 512, 920 | N/A |
T4
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(16G顯存) | 2 | 2~8 | 1 | 30 ~ 1536 |
4 | 4~16 | 1 | ||
6 | 6~24 | 1 | ||
8 | 8~32 | 1 | ||
10 | 10~40 | 1 | ||
12 | 12~48 | 1 | ||
14 | 14~56 | 1 | ||
16 | 16~64 | 1 | ||
24 | 24, 48, 90 | N/A | 30 ~ 1536 | |
2(16Gx2顯存) | 16 | 16~64 | 1 | |
24 | 24, 48, 96 | N/A | ||
32 | 32, 64, 128 | N/A | ||
48 | 48, 96, 180 | N/A |
A10
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) |
1(24G顯存) | 2 | 2~8 | 1 | 30 ~ 256 |
4 | 4~16 | 1 | ||
6 | 6~24 | 1 | ||
8 | 8~32 | 1 | ||
10 | 10~40 | 1 | ||
12 | 12~48 | 1 | ||
14 | 14~56 | 1 | ||
16 | 16~60 | 1 | ||
2(24Gx2顯存) | 16 | 16~64 | 1 | 30 ~ 512 |
32 | 32, 64, 120 | N/A | ||
4(24Gx4顯存) | 32 | 32, 64, 128 | N/A | 30 ~ 1024 |
64 | 64, 128, 240 | N/A | ||
8(24Gx8顯存) | 64 | 64, 128, 256 | N/A | 30 ~ 2048 |
128 | 128, 256, 480 | N/A |
G59
GPU(卡) | vCPU | Memory(GiB) | Memory支援步長(GiB) | 儲存(GiB) | 網路 |
1(32G顯存) | 2 | 2 ~ 16 | 1 | 30 ~ 256 | 每vCPU 1Gbps |
4 | 4 ~ 32 | 1 | |||
6 | 6 ~ 48 | 1 | |||
8 | 8 ~ 64 | 1 | |||
10 | 10 ~ 80 | 1 | |||
12 | 12 ~ 96 | 1 | |||
14 | 14 ~ 112 | 1 | |||
16 | 16 ~ 128 | 1 | |||
22 | 22,32,64,128 | N/A | |||
2(32Gx2顯存) | 16 | 16 ~ 128 | 1 | 30 ~ 512 | |
32 | 32,64,128,256 | N/A | |||
46 | 64,128,256,360 | N/A | |||
4(32Gx4顯存) | 32 | 32,64,128,256 | N/A | 30 ~ 1024 | |
64 | 64,128,256,512 | N/A | |||
92 | 128,256,512,720 | N/A | |||
8(32Gx8顯存) | 64 | 64,128,256,512 | N/A | 30 ~ 2048 | |
128 | 128,256,512,1024 | N/A | 100Gbps | ||
184 | 256,512,1024,1440 | N/A |
上述所有卡型在按量使用、容量預留和BestEffort等情境下共用相同的規格。其中:
16G記憶體及以下的規格,記憶體開銷由ACS承擔;16G記憶體以上規格,記憶體開銷將分攤到對應的Pod中,請務必確保為應用預留足夠的資源,以保證其穩定運行。
30G及以下容量的系統硬碟不收取額外費用(含鏡像大小),30G以上系統硬碟將按照超出部分進行計費。
規格自動規整
如不指定規格,GPU容器Pod會根據GPU類型選擇最小規格Pod(如上圖是2 vCPU,2GiB記憶體和1卡GPU)。
ACS會自動規整不支援的規格,規整後容器的.resources.requests 不會變化,但Pod規格會通過alibabacloud.com/pod-use-spec註解透出。 當容器指定的資源上限(resources.limits)超過了Pod的規格,ACS會以Pod規格來設定容器的資源上限。
CPU和Memory規整邏輯:如果所有容器相加的資源為2 vCPU和3.5 GiB記憶體,那麼ACS將會自動規整Pod為2 vCPU和4 GiB記憶體。調整的額外資源會生效到第一個容器中。Pod會透出註解
alibabacloud.com/pod-use-spec=2-4Gi。若Pod中單個容器指定了資源上限為3 vCPU和5 GiB記憶體,則該容器資源上限會生效成2 vCPU和5 GiB。GPU規整邏輯:Pod申請的GPU數量不在表格中時,Pod提交失敗。
GPU-HPN計算類
對於高效能網路GPU型的資源規整,ACS會以request為準,將request與limit對齊相等。此外,Pod的資源規格還受節點容量約束,規格超過節點容量時Pod會因資源不足導致pending,具體節點規格請參照購買規格說明。
Kubernetes應用限制
ACS通過虛擬節點與Kubernetes實現無縫對接,因此ACS Pod執行個體並不會運行在一個集中式的真實節點上,而是打散分布在整個阿里雲的資源集區中。基於公用雲端的安全性和虛擬節點本身帶來的限制,ACS目前還不支援Kubernetes中的HostPath、DaemonSet等功能,具體如下表所示。
限制項 | 說明 | 校正失敗時處理策略 | 推薦替代方案 |
DaemonSet | 限制使用Daemonset類工作負載 | Pod運行但無法正常工作 | 通過Sidecar形式在Pod中部署多個容器 |
type=NodePort的Service | 將宿主機連接埠映射到容器上 | 拒絕提交 | 使用 |
HostNetwork | 限制將宿主機連接埠映射到容器上 | 改寫為 | 無需使用 |
HostIPC | 限制容器進程和宿主機處理序間通訊 | 改寫為 | 無需使用 |
HostPID | 限制容器可見宿主機PID空間 | 改寫為 | 無需使用 |
HostUsers | 限制使用使用者命名空間 | 改寫為空白值 | 無需使用 |
DNSPolicy | 限制使用特定的DNSPolicy 說明
|
| 使用允許值 |
容器環境變數 | 在Kubernetes APIServer對環境變數的預設約束以外,對於GPU和GPU-HPN計算類,ACS要求環境變數名稱必須由字母、數字、底線、點或連字號組成,但第一個字元不能是數字。 | Pod啟動失敗。 | 使用符合規範的環境變數名。 |
連接埠佔用說明
下表為ACS佔用的連接埠情況,在部署服務時,請您避免使用以下連接埠。
連接埠 | 說明 |
111、10250、10255 | ACS叢集使用連接埠,exec、logs、metrics等介面使用。 |