Pod は Kubernetes におけるデプロイ可能な最小単位であり、通常は 1 つ以上のコンテナで構成されます。Pod のコンピューティングタイプとコンピューティング能力品質は、アプリケーションのパフォーマンスとリソース使用率に大きく影響します。Container Compute Service (ACS) は、多様なアプリケーション要件を満たすために、複数のコンピューティングタイプとそれに対応するコンピューティング能力品質クラスを提供します。このトピックでは、セキュリティ分離、CPU、メモリ、GPU リソースと仕様の構成、イメージのプル、ストレージ、ネットワーク、ログ収集など、ACS Pod の主要な特徴と制限事項について説明します。
コンピューティングタイプの定義
ACS は、さまざまなビジネスシナリオに合わせて、異なるリソース割り当てを持つコスト効率の高い CPU および GPU コンテナコンピューティングタイプを提供します。
コンピューティングタイプ | ラベル | 特徴 |
汎用 (デフォルト) | general-purpose | ほとんどのステートレスマイクロサービスアプリケーション、Java Web アプリケーション、コンピューティングタスクに適しています。 |
パフォーマンス最適化 | performance | CPU ベースの AI/ML トレーニングおよび推論、HPC バッチ処理など、より高いパフォーマンスが要求されるシナリオに適しています。 |
GPU タイプ | gpu | 単一 GPU および複数 GPU の推論、GPU 並列コンピューティングなど、AI や HPC といったヘテロジニアスコンピューティングのシナリオに適しています。 |
高性能ネットワーク GPU (gpu-hpn) | gpu-hpn | GPU 分散トレーニング、分散推論、GPU 高性能コンピューティングなど、AI や HPC といったヘテロジニアスコンピューティングのシナリオに適しています。 |
コンピューティングタイプは、Pod の alibabacloud.com/compute-class ラベルを使用して指定します。以下の例は、コンピューティングタイプを general-purpose、gpu、または gpu-hpn に設定した NGINX アプリケーションの YAML 構成を示しています。
汎用
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 | default |
|
|
BestEffort | best-effort |
|
|
コンピューティング能力品質は、Pod の alibabacloud.com/compute-qos ラベルを使用して指定します。以下の例は、コンピューティング能力品質を default に設定した NGINX アプリケーションの YAML 構成を示しています。
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 クラス とは異なります。ACS のデフォルトのコンピューティング能力品質クラスは、Kubernetes の Guaranteed QoS クラスに相当します。
BestEffort インスタンスの在庫は動的です。本番環境では、在庫優先のスケジューリングポリシーを強く推奨します。このポリシーにより、在庫が利用できない場合にプラットフォームが自動的にデフォルトの品質クラスに切り替えることができます。詳細については、「カスタムリソーススケジューリングポリシー」をご参照ください。
コンピューティングタイプとコンピューティング能力品質クラスのマッピング
コンピューティングタイプ (ラベル) | サポートされるコンピューティング能力品質クラス (ラベル) |
汎用 (general-purpose) | Default (default)、BestEffort (best-effort) |
パフォーマンス最適化 (performance) | Default (default)、BestEffort (best-effort) |
GPU タイプ (gpu) | Default (default)、BestEffort (best-effort) |
高性能ネットワーク GPU (gpu-hpn) | Default (default) |
CPU ブランドの指定
汎用 (general-purpose) およびパフォーマンス最適化 (performance) コンピューティングタイプは、Intel と AMD の 2 つの CPU サプライヤーをサポートしています。
CPU サプライヤーは、Pod に alibabacloud.com/cpu-vendors アノテーションを追加するか、ワークロードの Pod テンプレートで alibabacloud.com/cpu-vendors アノテーションを定義することで指定します。AMD CPU を使用するには、チケットを送信してホワイトリストに追加される必要があります。他のコンピューティングタイプでこのアノテーションを指定することはサポートされておらず、エラーメッセージが表示されます。このアノテーションは以下の値をサポートしています:
キー | 値 | 定義 |
| intel (デフォルト) | Intel CPU を指定します。指定しない場合、デフォルト値は "intel" です。 |
amd | AMD CPU を指定します。 | |
intel, amd | Intel または AMD CPU のいずれかを指定します。システムは在庫に基づいてインスタンスを作成するために適切な CPU ブランドを選択します。複数の値が指定された場合、優先順位はサポートされません。 |
インスタンスが作成された後、Pod YAML の alibabacloud.com/cpu-vendor ラベルの値を確認して、実際の CPU ブランドを検証します。
以下の例は、CPU ブランドを amd に指定した NGINX アプリケーションの YAML 構成を示しています。
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 alibabacloud.com/compute-class、alibabacloud.com/compute-qos、alibabacloud.com/cpu-vendor などの ACS システムラベルを、ワークロードの matchLabels のフィルターラベルとして使用しないでください。これらのラベルはシステムによって変更される可能性があり、コントローラーが頻繁に Pod を再作成し、アプリケーションの安定性に影響を与える可能性があります。
主要な特徴
特徴 | 説明 |
セキュリティ分離 | ACS は安全なサーバーレスコンテナランタイムです。各 Pod インスタンスは、軽量のサンドボックス技術を使用して強力に分離されており、インスタンス間の干渉はありません。スケジューリング中、インスタンスは可用性を最大化するために、可能な限り異なる物理マシンに分散されます。 |
CPU/メモリ/GPU/EphemeralStorage リソース仕様の構成 |
|
イメージ | デフォルトでは、ACS Pod が再起動されるたびに、Pod がデプロイされている Virtual Private Cloud (VPC) を介してリモートのコンテナレジストリからイメージをプルします。レジストリがパブリックにアクセス可能な場合は、VPC に NAT ゲートウェイを構成する必要があります。VPC を介したイメージのプルを高速化するには、Container Registry (ACR) を使用してコンテナイメージをホストします。さらに、ACS は Secret を使用せずに Container Registry からプライベートイメージをプルすることをサポートしています。 |
ストレージ | ACS は、クラウドディスク、NAS、OSS、CPFS の 4 種類の永続ストレージをサポートしています。
|
ネットワーク | デフォルトでは、ACS Pod は独立した Pod IP を使用し、vSwitch の ENI を 1 つ占有します。 ACS クラスターでは、Pod は以下の方法で相互に通信できます:
|
ログ収集 | Pod の環境変数を直接構成して、 |
リソース仕様
ACS クラスターでは、GPU および GPU-HPN コンピューティングタイプの Pod 仕様は、送信時に自動的に調整されます。たとえば、GPU Pod は一様に Guaranteed QoS (リクエストと上限が等しい) に調整されます。他のソース (ACK や ACK One クラスターなど) から ACS GPU コンピューティング能力を使用する場合、リソース仕様の調整は Pod メタデータに反映されません。送信前後で Pod の QoS が変更されないようにしてください。GPU コンピューティングタイプの場合、Pod ステータスの更新失敗を避けるために、Guaranteed QoS で Pod を送信してください。
汎用コンピューティングタイプ
汎用コンピューティングタイプ
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ネットワーク帯域幅 (インバウンド + アウトバウンド) (Gbit/s) | ストレージ |
0.25 | 0.5, 1, 2 | N/A | 0.08 | 30 GiB 以下の容量は無料です。30 GiB を超える容量については、超過分が別途課金されます。サポートされる最大構成は 2,000 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 |
パフォーマンスコンピューティングタイプ
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ネットワーク帯域幅 (インバウンド + アウトバウンド) (Gbit/s) | ストレージ |
0.25 | 0.5, 1, 2 | N/A | 0.1 | 30 GiB 以下の容量は無料です。30 GiB を超える容量については、超過分が別途課金されます。サポートされる最大構成は 2,000 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 |
16 vCPU または 128 GiB を超えるメモリを持つ ACS Pod を使用するには、チケットを送信してアクセスをリクエストしてください。
コンテナの .resources.requests と .resources.limits を設定して仕様を指定しない場合、単一の Pod にはデフォルトで 2 vCPU と 4 GiB のメモリが割り当てられます。
ACS は Pod の仕様を自動的に調整します。システムは、すべてのコンテナの .resources.requests と .resources.limits の累積値を計算し、これらの 2 つの値の最大値を取得して、Pod を最も近いサポートされている仕様に調整します。この調整された仕様は、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 # 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 # 2 vCPU を宣言
memory: "4Gi" # 4 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースを宣言アノテーションを使用した Pod 仕様の指定
適用性
この機能は、汎用 (general-purpose) およびパフォーマンス最適化 (performance) コンピューティングタイプの CPU Pod でのみ利用可能です。
アノテーションでサポートされる最大仕様は 64 vCPU と 512 GiB であり、これは 汎用コンピューティングタイプの仕様 に従います。
使用方法
サービス品質 (QoS) が Burstable (.resources.limits > .resources.requests) のシナリオでは、アノテーション alibabacloud.com/pod-required-spec: "X-YGi" を指定することで、Pod のターゲットリソース仕様を宣言できます。リソース仕様は <CPU>-<Memory> 形式を使用する必要があり、CPU はコア単位 (例: "2" は 2 vCPU を表す)、メモリは GiB 単位 (例: "4Gi" は 4 GiB を表す) で指定します。詳細なリソースの配置と使用規則は次のとおりです:
リソース仕様のフォーマットが正しくない場合 (単位の欠落、MiB の使用、順序の間違いなど)、Pod の作成は失敗します。
アノテーションを設定しても、どのコンテナにも
.resourcesを定義しない場合、システムはアノテーションの値を厳密に従って調整し、デフォルト仕様の 2 vCPU と 4 GiB にはフォールバックしません。アノテーションの値が Pod 内のすべてのコンテナの
.resources.requestsの合計より小さい場合、Pod の作成は失敗します。アノテーションの値が Pod 内のすべてのコンテナの
.resources.limitsの合計より大きい場合、システムはアノテーションの値を Pod 調整のターゲット仕様として使用します。複数コンテナの Pod では、最初のコンテナがプライマリコンテナと見なされます。システムは、アノテーションの値と現在の
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.5 GiB です。apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
annotations:
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 # 1 vCPU を宣言
memory: "2Gi" # 2 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースを宣言
limits:
cpu: 2 # 2 vCPU を宣言
memory: "3.5Gi" # 3.5 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースを宣言調整後のリソース宣言は次のようになります:
.resources.limits.memory は 3.5 GiB から 4 GiB に調整されます。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 # 1 vCPU を宣言
memory: "2Gi" # 2 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースを宣言
limits:
cpu: 2 # 2 vCPU を宣言
memory: "4Gi" # 4 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースを宣言アクセラレーションコンピューティングタイプ
以下は、ACS がサポートする GPU モデルです。モデルによって仕様が異なる場合があります。具体的な仕様のマッピングについては、チケットを送信してお問い合わせください。
GU8TF
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (96 GB GPU メモリ) | 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 (96 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30~512 |
32 | 32, 64, 128, 230 | N/A | ||
46 | 64, 128, 230 | N/A | ||
4 GPU (各 96 GB) | 32 | 32, 64, 128, 256 | N/A | 30~1024 |
64 | 64, 128, 256, 460 | N/A | ||
92 | 128, 256, 460 | N/A | ||
8 GPU (合計 96 × 8 GB GPU メモリ) | 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 | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (141 GB GPU メモリ) | 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 (141 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30~1536 |
32 | 32, 64, 128, 256 | N/A | ||
46 | 64, 128, 256, 450 | N/A | ||
4 (141 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30~3072 |
64 | 64, 128, 256, 512 | N/A | ||
92 | 128, 256, 512, 900 | N/A | ||
8 (141 GB × 8 GPU メモリ) | 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 | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (48 GB GPU メモリ) | 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 (48 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30~512 |
32 | 32, 64, 128, 230 | N/A | ||
4 (48 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30~1024 |
64 | 64, 128, 256, 460 | N/A | ||
8 (48 GB × 8 GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | 30~2048 |
128 | 128, 256, 512, 920 | N/A |
L20X (GX8SF)
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
8 (141 GB × 8 GPU メモリ) | 184 | 1800 | N/A | 30~6144 |
P16EN
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (96 GB GPU メモリ) | 2 | 2~16 | 1 | 30~384 |
4 | 4~32 | 1 | ||
6 | 6~48 | 1 | ||
8 | 8~64 | 1 | ||
10 | 10~80 | 1 | ||
2 (96 GB × 2 GPU メモリ) | 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 (96 GB × 4 GPU メモリ) | 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 (96 GB × 8 GPU メモリ) | 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 (96 GB × 16 GPU メモリ) | 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 |
T4
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (16 GB GPU メモリ) | 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 (16 GB × 2 GPU メモリ) | 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 | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (24 GB GPU メモリ) | 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 (24 GB × 2 GPU メモリ) | 16 | 16~64 | 1 | 30~512 |
32 | 32, 64, 120 | N/A | ||
4 (24 GB × 4 GPU メモリ) | 32 | 32, 64, 128 | N/A | 30~1024 |
64 | 64, 128, 240 | N/A | ||
8 (24 GB × 8 GPU メモリ) | 64 | 64, 128, 256 | N/A | 30~2048 |
128 | 128, 256, 480 | N/A |
G28Ti
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (11 GB GPU メモリ) | 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 |
G49E
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (48 GB GPU メモリ) | 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 (48 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30~512 |
32 | 32, 64, 128, 230 | N/A | ||
4 (48 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30~1024 |
64 | 64, 128, 256, 460 | N/A | ||
8 (48 GB × 8 GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | 30~2048 |
128 | 128, 256, 512, 920 | N/A |
G59
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (32 GB GPU メモリ) | 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 (32 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30~512 |
32 | 32, 64, 128, 256 | N/A | ||
46 | 64, 128, 256, 360 | N/A | ||
4 (32 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30~1024 |
64 | 64, 128, 256, 512 | N/A | ||
92 | 128, 256, 512, 720 | N/A | ||
8 (32 GB × 8 GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | 30~2048 |
128 | 128, 256, 512, 1024 | N/A | ||
184 | 256, 512, 1024, 1440 | N/A |
L20N
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (48 GB GPU メモリ) | 2 | 2~16 | 1 | 30~2048 |
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 | ||
32 | 32, 64, 128, 256 | N/A | ||
2 (48 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | |
32 | 32, 64, 128, 256 | N/A | ||
64 | 64, 128, 256, 512 | N/A | ||
4 (48 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | |
64 | 64, 128, 256, 512 | N/A | ||
128 | 128, 256, 512, 1024 | N/A | ||
8 (48 GB × 8 GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | |
128 | 128, 256, 512, 1024 | N/A | ||
256 | 256, 512, 1024, 2048 | N/A |
L20NE
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (72 GB GPU メモリ) | 2 | 2~16 | 1 | 30~2048 |
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 | ||
32 | 32, 64, 128, 180 | N/A | ||
2 (72 GB × 2 GPU メモリ) | 16 | 16~128 | 1 | |
32 | 32, 64, 128, 256 | N/A | ||
64 | 64, 128, 256, 360 | N/A | ||
4 (72 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | |
64 | 64, 128, 256, 512 | N/A | ||
128 | 128, 256, 512, 720 | N/A | ||
8 (72 GB × 8 GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | |
128 | 128, 256, 512, 1024 | N/A | ||
256 | 256, 512, 1024, 1440 | N/A |
上記のモデルは、従量課金、キャパシティ予約、および BestEffort インスタンスで同じ仕様を共有します。以下にご注意ください:
16 GiB 以下のメモリ仕様の場合、メモリオーバーヘッドは ACS によってカバーされます。16 GiB を超えるメモリ仕様の場合、メモリオーバーヘッドは対応する Pod に割り当てられます。アプリケーションの安定した動作を確保するために、十分なリソースを予約してください。
30 GiB 以下のシステムディスク (イメージサイズを含む) には追加料金はかかりません。30 GiB を超えるシステムディスクの場合、超過分は別途課金されます。
自動仕様調整
仕様が指定されていない場合、GPU コンテナ Pod は選択された GPU タイプの最小仕様 (例: 2 vCPU、2 GiB メモリ、1 GPU カード) で作成されます。
ACS はサポートされていない仕様を自動的に調整します。調整後、コンテナの .resources.requests は変更されませんが、Pod の仕様は alibabacloud.com/pod-use-spec アノテーションに表示されます。コンテナに指定されたリソース上限 (resources.limits) が Pod の仕様を超える場合、ACS はコンテナのリソース上限を Pod の仕様に設定します。
CPU とメモリの調整ロジック:すべてのコンテナの総リソースが 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-HPN コンピューティングタイプの場合、ACS はリクエスト値に基づいてリソースリクエストと上限が等しくなるように調整します。Pod のリソース仕様は、ノードのキャパシティによっても制約されます。リクエストされた仕様がノードのキャパシティを超える場合、Pod はリソース不足のため pending 状態になります。ノードスペックの詳細については、購入ページの仕様説明をご参照ください。
Kubernetes アプリケーションの制限事項
ACS は仮想ノードを介して Kubernetes と統合されます。ACS Pod インスタンスは、集中管理された実ノード上では実行されず、Alibaba Cloud のリソースプール全体に分散されます。パブリッククラウドのセキュリティ要件と仮想ノードの制限により、ACS は以下の表に示すように、HostPath や DaemonSet などの特定の Kubernetes 機能をサポートしていません。
制限 | 説明 | 検証失敗時のアクション | 推奨される代替案 |
DaemonSet | DaemonSet ワークロードの使用は制限されています。 | Pod は実行されますが、期待どおりに機能しません。 | Pod 内に複数のコンテナをサイドカーとしてデプロイします。 |
type=NodePort の Service | ホストからコンテナへのポートマッピング | 送信は拒否されます。 |
|
HostNetwork | ホストポートのコンテナへのマッピングは制限されています。 | 値は | 不要です。 |
HostIPC | コンテナプロセスとホストプロセス間のプロセス間通信は制限されています。 | 値は | 不要です。 |
HostPID | コンテナからホストの PID 空間への可視性は制限されています。 | 値は | 不要です。 |
HostUsers | ユーザー名前空間の使用は制限されています。 | 値は空に書き換えられます。 | 不要です。 |
DNSPolicy | 特定の DNSPolicy の使用は制限されています。 説明
|
| 許可された値を使用してください。 |
コンテナ環境変数のフォーマット | Kubernetes API サーバーからの環境変数のデフォルトの制約に加えて、GPU および GPU-HPN コンピューティングタイプの場合、ACS は環境変数名が文字、数字、アンダースコア、ピリオド、またはハイフンで構成され、数字で始まってはならないことを要求します。 | Pod の起動に失敗します。 | 準拠した環境変数名を使用してください。 |
コンテナ環境変数の数 | Linux のシステムコールのパラメータリストの長さの制約により、単一コンテナの環境変数の数は約 2,000 以下に制限する必要があります。 さらに、Pod の | Pod の起動に失敗します。 | コンテナの環境変数の数を減らしてください。多くの Service がある場合は、Pod の |
ポートの使用
以下の表は、ACS が使用するポートを示しています。サービスをデプロイする際は、これらのポートの使用を避けてください。
ポート | 説明 |
111, 10250, 10255 | ACS クラスターが exec、logs、metrics などのインターフェイスに使用するポート。 |