現代のクラウドコンピューティングとコンテナ化環境において、Pod は Kubernetes におけるデプロイ可能な最小単位です。Pod は通常、1 つ以上のコンテナで構成されます。Pod の計算クラスとサービス品質 (QoS) は、アプリケーションのパフォーマンスとリソース使用率に大きく影響します。Container Compute Service (ACS) は、多様なビジネスニーズに応えるために、複数の計算クラスとそれに対応する QoS レベルを提供します。このトピックでは、ACS Pod のコア機能、制限、構成について説明します。これには、隔離、CPU、メモリ、GPU リソース構成、イメージのプル、ストレージ、ネットワーク、ログ収集が含まれます。
計算クラスの定義
ACS は、コスト効率の高い CPU および GPU コンテナ計算クラスを提供します。各クラスは、さまざまなビジネスシナリオに対応する異なるリソース構成を提供します。
計算クラス | ラベル | 特徴 |
汎用 (デフォルト) | general-purpose | ほとんどのステートレスマイクロサービスアプリケーション、Java Web アプリケーション、および計算タスクのニーズを満たします。 |
パフォーマンス | performance | CPU ベースの AI/ML トレーニングと推論、およびハイパフォーマンスコンピューティング (HPC) バッチ処理など、より高いパフォーマンス要件を持つビジネスシナリオに適しています。 |
GPU | gpu | AI や HPC などの異種コンピューティングシナリオに適しています。例としては、シングルカードおよびマルチカード GPU 推論、GPU 並列計算などがあります。 |
高性能ネットワーク GPU (gpu-hpn) | gpu-hpn | AI や HPC などの異種コンピューティングシナリオに適しています。例としては、分散 GPU トレーニング、分散推論、GPU ハイパフォーマンスコンピューティングなどがあります。 |
Pod の alibabacloud.com/compute-class ラベルを使用して、Pod の計算クラスを指定できます。以下の YAML テンプレートは、Nginx アプリケーションの計算クラスを指定する方法を示しています。例では、計算クラスを general-purpose、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 つの QoS レベルを提供します。各 QoS レベルは、さまざまなビジネスシナリオに対して異なるリソース保証を提供します。
コンピューティングパワーの品質 | ラベル | 特徴 | 典型的なシナリオ |
デフォルト | default |
|
|
ベストエフォート | best-effort |
|
|
Pod の alibabacloud.com/compute-qos ラベルを使用して、Pod の QoS レベルを指定できます。Nginx アプリケーションの次の YAML テンプレートは、QoS レベルを 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 の QoS レベルの定義は、ネイティブの Kubernetes QoS クラスとは異なります。ACS のデフォルト QoS レベルは、Kubernetes の Guaranteed QoS クラスに対応します。
ベストエフォート QoS Pod のインベントリは動的です。本番環境では、インベントリ優先のスケジューリングポリシーを構成して、インベントリが不足している場合にプラットフォームが自動的にデフォルトタイプに切り替わるようにすることができます。詳細については、「カスタムリソーススケジューリングポリシー」をご参照ください。
計算クラスと QoS レベルの関係
計算クラス (ラベル) | サポートされる QoS レベル (ラベル) |
汎用 (general-purpose) | デフォルト (default)、ベストエフォート (best-effort) |
パフォーマンス (performance) | デフォルト (default)、ベストエフォート (best-effort) |
GPU (gpu) | デフォルト (default)、ベストエフォート (best-effort) |
高性能ネットワーク GPU (gpu-hpn) | デフォルト (default) |
CPU ベンダーの指定
汎用 (general-purpose) およびパフォーマンス (performance) 計算クラスは、Intel と AMD の 2 つのベンダーの CPU を提供します。
Pod に alibabacloud.com/cpu-vendors アノテーションを追加するか、ワークロードの Pod テンプレートで alibabacloud.com/cpu-vendors アノテーションを定義することで、CPU ベンダーを指定できます。AMD CPU を指定するには、チケットを送信してホワイトリストサポートを有効にする必要があります。このアノテーションを汎用およびパフォーマンス以外の計算クラスに指定すると、CPU ベンダーの指定がサポートされていないことを示すエラーメッセージが表示されます。このアノテーションでサポートされる値は次のとおりです。
キー | 値 | 意味 |
| intel (デフォルト) | CPU ベンダーとして Intel を指定します。ベンダーを指定しない場合、デフォルト値は "intel" です。 |
amd | CPU ベンダーとして AMD を指定します。 | |
intel,amd | CPU ベンダーとして Intel または AMD のいずれかを指定します。システムはインベントリに基づいてインスタンスを作成するために適切な CPU ベンダーを選択します。複数の値を入力した場合、優先順位を指定することはできません。 |
Pod が作成された後、Pod の YAML ファイルで alibabacloud.com/cpu-vendor ラベルの値を確認して、Pod が実際に使用している CPU ベンダーを確認できます。
Nginx アプリケーションの次の YAML テンプレートは、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 alibabacloud.com/compute-class、alibabacloud.com/compute-qos、alibabacloud.com/cpu-vendor などの ACS システムラベルを、ワークロードの matchLabels のフィルターラベルとして使用しないでください。システムがこれらのラベルを変更する可能性があり、これによりコントローラーが Pod を頻繁に再作成し、アプリケーションの安定性に影響を与える可能性があります。
コア機能
機能 | 説明 |
隔離 | 安全で信頼性の高いサーバーレスコンテナランタイム環境として、各 ACS Pod は軽量のサンドボックス化コンテナ技術を使用して強力に隔離されます。インスタンスは互いに影響しません。スケジュールされると、インスタンスは可能な限り異なる物理マシンに分散され、高可用性が確保されます。 |
CPU、メモリ、GPU、およびエフェメラルストレージのリソース構成 |
|
イメージ | デフォルトでは、ACS Pod は起動するたびに、関連付けられた VPC を介してリモートリポジトリからコンテナイメージをプルします。イメージがパブリックイメージの場合、VPC の NAT Gateway を有効にする必要があります。コンテナイメージを Alibaba Cloud Container Registry (ACR) に保存して、VPC ネットワーク経由でのイメージのプル時間を短縮します。ACR のプライベートイメージの場合、ACS は利便性のためにパスワードなしで ACR イメージをプルする機能を提供します。 |
ストレージ | ACS は、ディスク、NAS、OSS、CPFS の 4 種類の永続ストレージをサポートしています。
|
ネットワーク | デフォルトでは、ACS Pod は独立した Pod IP アドレスを使用し、vSwitch 上の 1 つの Elastic Network Interface (ENI) を占有します。 ACS クラスターでは、Pod は次のように相互に接続できます。
|
ログ収集 | Pod の環境変数を直接構成して、 |
リソース仕様
ACS クラスターでは、GPU および GPU-HPN 計算クラスを持つ Pod の仕様は、送信時に自動的にスナップされます。たとえば、GPU 計算クラスを持つ Pod は、リクエストがリミットと等しい Guaranteed QoS にスナップされます。ACK や ACK One クラスターなどの他のチャネルを通じて ACS GPU 計算能力を使用する場合、このリソース仕様のスナップは Pod メタデータに反映されません。Pod の QoS が送信前後で変更されないようにする必要があります。たとえば、GPU 計算クラスを持つ Pod は、Pod ステータスの更新失敗を防ぐために、Guaranteed QoS で送信する必要があります。
汎用計算クラス
汎用計算クラス
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ネットワーク帯域幅 (アウトバウンド + インバウンド) (Gbit/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 |
パフォーマンス計算クラス
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ネットワーク帯域幅 (アウトバウンド + インバウンド) (Gbit/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 |
16 vCPU または 128 GiB を超えるメモリを持つ 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 を例にとります。Pod が起動すると、ACS はその仕様を自動的に 2 vCPU と 4 GiB のメモリにスナップします。追加のリソースは最初のコンテナに適用され、Pod には alibabacloud.com/pod-use-spec=2-4Gi というアノテーションが付けられます。以下はリソース宣言の例です。
apiVersion: apps/v1
kind: Pod
metadata:
labels:
app: nginx
alibabacloud.com/compute-class: general-purpose
alibabacloud.com/compute-qos: default
spec:
containers:
- name: nginx
resources:
requests:
cpu: 2 # 2 vCPU を宣言
memory: "3.5Gi" # 3.5 GiB のメモリを宣言
ephemeral-storage: "30Gi" # 30 GiB のストレージを宣言スナップ後のリソース宣言は次のようになります。
apiVersion: apps/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
spec:
containers:
- name: nginx
resources:
requests:
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 (96 GB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30 から 1024 |
64 | 64, 128, 256, 460 | N/A | ||
92 | 128, 256, 460 | N/A | ||
8 (96 GB × 8 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 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 |
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 |
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 |
G59
GPU (カード) | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) | ネットワーク |
1 (32 GB GPU メモリ) | 2 | 2 から 16 | 1 | 30 から 256 | vCPU あたり 1 Gbps |
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 | 100 Gbps | ||
184 | 256, 512, 1024, 1440 | N/A |
上記のすべてのモデルは、従量課金、予約容量、およびベストエフォートのシナリオで同じ仕様を共有します。次の点に注意してください。
16 GB 以下のメモリを持つ仕様の場合、ACS にはメモリオーバーヘッドが含まれます。16 GB を超えるメモリを持つ仕様の場合、このオーバーヘッドは Pod に割り当てられます。アプリケーションが安定して実行されるように、十分なリソースを予約してください。
イメージサイズを含む最大 30 GB のシステムディスクは無料です。30 GB を超えるシステムディスクの部分に対して課金されます。
自動仕様スナップ
仕様を指定しない場合、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 | コンテナとホストプロセス間のプロセス間通信 (IPC) はサポートされていません。 | 設定は | 不要です。 |
HostPID | コンテナはホストのプロセス ID (PID) 空間を表示できません。 | 設定は | 不要です。 |
HostUsers | ユーザー名前空間の使用を制限します | 設定は空の値に書き換えられます。 | 不要です。 |
DNSPolicy | 特定の DNS ポリシーを制限します 説明
|
| 許可された値を使用します。 |
コンテナ環境変数 | ACS は、Kubernetes API サーバーからのデフォルトの環境変数制約を適用します。GPU および GPU-HPN 計算クラスの場合、ACS には追加の要件があります。環境変数名には、文字、数字、アンダースコア、ドット、またはハイフンのみを含めることができ、数字で始めることはできません。 | Pod の起動に失敗しました。 | 有効な環境変数名を使用します。 |
ポートの使用
次の表に、ACS が使用するポートを示します。サービスをデプロイする際には、これらのポートの使用を避けてください。
ポート | 説明 |
111, 10250, 10255 | exec、logs、metrics などのインターフェイス用に ACS クラスターが使用するポート。 |