現代のクラウドコンピューティングおよびコンテナ化環境において、Pod は Kubernetes でデプロイ可能な最小単位であり、通常は 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 | 分散 GPU トレーニングおよび推論、GPU ベースの高性能コンピューティングなどのヘテロジニアスコンピューティングタスクに適しています。 |
Pod のコンピュートクラスを指定するには、alibabacloud.com/compute-class ラベルを使用します。以下の例は、general-purpose、gpu、および gpu-hpn コンピュートクラス用に構成された NGINX デプロイメントを示しています。
汎用
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
# コンピュートクラスを 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-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
# コンピュートクラスを 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-HPN Pod を使用するには、事前に「GPU-HPN 容量予約」を作成する必要があります。
QoS クラス
ACS は 2 種類の QoS クラスを提供します。各クラスは、さまざまなビジネスシナリオに適した異なるリソースプロビジョニングと可用性を提供します。
QoS クラス | ラベル | 特性 | 典型的なユースケース |
default | default |
|
|
BestEffort | best-effort |
|
|
Pod マニフェストに alibabacloud.com/compute-qos ラベルを追加することで、Pod の QoS クラスを指定できます。以下のサンプルマニフェストは、default QoS クラスを指定した NGINX アプリケーションのものです。
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 の default QoS クラスは、Kubernetes の Guaranteed QoS クラスに対応しています。
BestEffort Pod は動的在庫を使用するため、その可用性は保証されません。本番環境では、BestEffort 容量が不足した場合に自動的に default クラスにフォールバックするよう、「カスタムリソーススケジューリングポリシー」を設定することを強く推奨します。
コンピュートクラスから QoS クラスへのマッピング
コンピュートクラス | サポートされる QoS クラス |
汎用 (general-purpose) | default (default), best-effort (best-effort) |
パフォーマンス(パフォーマンス) | default (default), best-effort (best-effort) |
GPU アクセラレーテッド (gpu) | default (default), best-effort (best-effort) |
GPU-HPN (gpu-hpn) | default (default) |
CPU ベンダーの指定
汎用およびパフォーマンス専有型コンピュートクラスでは、Intel および AMD CPU のいずれかを選択できます。
CPU ベンダーを指定するには、Pod に alibabacloud.com/cpu-vendors アノテーションを追加するか、ワークロードの Pod テンプレート内に alibabacloud.com/cpu-vendors アノテーションを定義します。AMD CPU を使用するには、ホワイトリストに登録するためにチケットを送信する必要があります。このアノテーションは、汎用およびパフォーマンス専有型コンピュートクラスでのみ使用可能です。他のコンピュートクラスにこのアノテーションを追加すると、CPU ベンダーの指定がサポートされていないというエラーが返されます。このアノテーションは以下の値をサポートしています。
キー | 値 | 説明 |
| intel (デフォルト) | Intel CPU を指定します。 |
amd | AMD CPU を指定します。 | |
intel,amd | 在庫状況に応じて Intel または AMD CPU のいずれかを使用できるようにします。優先順位を指定することはできません。 |
インスタンス作成後、Pod YAML 内の alibabacloud.com/cpu-vendor ラベルの値を確認することで、割り当てられた CPU ベンダーを検証できます。
以下の例は、amd CPU ベンダーを指定した Nginx アプリケーションの Deployment を示しています。
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 ワークロードの matchLabels セレクター内で ACS システムラベル(alibabacloud.com/compute-class、alibabacloud.com/compute-qos、alibabacloud.com/cpu-vendor など)を使用しないでください。システムがこれらのラベルを変更する可能性があり、その結果、コントローラーが頻繁に Pod を再作成してアプリケーションが不安定になるおそれがあります。
主要機能
機能 | 説明 |
セキュリティ隔離 | ACS は安全で信頼性の高いサーバーレスコンテナランタイムを提供します。各 Pod は軽量なサンドボックス内で実行され、Pod 間の干渉を防ぐ強力な隔離を実現します。さらに高可用性を向上させるため、ACS は可能な限り異なる物理マシン上に Pod をスケジュールします。 |
CPU/メモリ/GPU/EphemeralStorage リソース構成 |
|
イメージ | デフォルトでは、ACS Pod は起動時に関連付けられた仮想プライベートクラウド (VPC) 経由でリモートレジストリからコンテナイメージをプルします。パブリックイメージをプルするには、VPC に NAT ゲートウェイを有効にする必要があります。コンテナイメージを Alibaba Cloud Container Registry (ACR) に保存することで、VPC ネットワーク経由のイメージプル時間を短縮できます。また、ACS では「Secret を使用せずに Container Registry から非公開イメージをプルする」ことも可能で、アクセスが簡素化されます。 |
ストレージ | ACS は、クラウドディスク、NAS、OSS、クラウド並列ファイルストレージ (CPFS) の 4 種類の永続ストレージをサポートしています。
|
ネットワーキング | デフォルトでは、ACS は各 Pod に vSwitch から専用の IP アドレスと 1 つのエラスティックネットワークインターフェース (ENI) を割り当てます。 ACS クラスター内では、Pod 間で以下の方法で通信できます。
|
ログ収集 | Pod 内で環境変数を設定することで、 |
リソーススペック
ACS クラスターでは、GPU および GPU-HPN コンピュートクラスの Pod スペックは、送信時に自動的に正規化されます。たとえば、クラスターは GPU コンピュートクラスの Pod に Guaranteed QoS を割り当てるために、リソースの request と limit を同じ値に設定します。ただし、ACK クラスターや ACK One クラスターなどの他の環境で ACS GPU コンピューティング能力を使用する場合、Pod メタデータにはこのリソーススペックの正規化が反映されません。送信時に Pod の QoS クラスが変更されないようにする必要があります。たとえば、Pod ステータス更新の失敗を防ぐために、Guaranteed QoS を持つ GPU コンピュートクラスの Pod を送信する必要があります。
コンピュートクラス
汎用
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | 帯域幅 (双方向) (Gbit/s) | ストレージ |
0.25 | 0.5, 1, 2 | 該当なし | 0.08 | ストレージの最初の 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 | 該当なし | 4.5 | |
32 | 32, 64, 128, 256 | 該当なし | 6 | |
48 | 48, 96, 192, 384 | 該当なし | 12.5 | |
64 | 64, 128, 256, 512 | 該当なし | 20 |
パフォーマンス
vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | 帯域幅 (双方向) (Gbit/s) | ストレージ |
0.25 | 0.5, 1, 2 | 該当なし | 0.1 | ストレージの最初の 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 | 該当なし | 8 | |
32 | 32, 64, 128, 256 | 該当なし | 10 | |
48 | 48, 96, 192, 384 | 該当なし | 16 | |
64 | 64, 128, 256, 512 | 該当なし | 25 |
16 vCPU または 128 GiB のメモリを超える ACS Pod を使用するには、チケットを送信する必要があります。
コンテナの .resources.requests または .resources.limits フィールドでリソースを指定しない場合、Pod はデフォルトで 2 vCPU および 4 GiB のメモリになります。
ACS は Pod のスペック調整を自動的に行います。ACS は、すべてのコンテナの合計 .resources.requests および合計 .resources.limits のうち大きい方の値を使用して Pod に必要なリソースを決定し、その後、この値をサポートされているスペックに最も近い値に切り上げます。ACS はこの最終的なスペックを alibabacloud.com/pod-use-spec アノテーションに記録します。スペックが切り上げられた場合、ACS はコンテナの .resources.requests または .resources.limits を調整して、コンテナがプロビジョニングされたすべてのリソースを使用できるようにします。
ACS Pod スペック調整ロジック
たとえば、.resources.requests または .resources.limits の合計が 2 vCPU および 3.5 GiB のメモリである場合、ACS は Pod 起動時に自動的に 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 スペックの指定
適用範囲
この機能は、汎用およびパフォーマンス専有型コンピュートクラスの CPU Pod のみでサポートされています。
アノテーションで利用可能な最大スペックは 64 vCPU および 512 GiB のメモリで、「汎用コンピュートクラス」の制限に従います。
使用方法
Burstable QoS (サービス品質) クラスの Pod(.resources.limits > .resources.requests)では、alibabacloud.com/pod-required-spec: "X-YGi" アノテーションを使用してターゲットリソーススペックを宣言できます。リソーススペックは <CPU>-<Memory> 形式に従う必要があり、CPU はコア単位(例:2 vCPU の場合は "2")、メモリは GiB 単位(例:4 GiB の場合は "4Gi")で指定します。以下のルールが適用されます。
リソーススペック形式が無効(例:単位が欠落している、
Miが使用されている、順序が逆になっている)の場合、Pod の作成は失敗します。アノテーションが設定されているが、どのコンテナにも
.resourcesが定義されていない場合、システムはアノテーション内のスペックに厳密に従い、デフォルトスペック(2 vCPU および 4 GiB のメモリ)にフォールバックしません。アノテーションの値がすべてのコンテナの
.resources.requestsの合計よりも小さい場合、Pod の作成は失敗します。アノテーションの値がすべてのコンテナの
.resources.limitsの合計よりも大きい場合、システムはアノテーションの値を Pod のターゲットスペックとして使用します。マルチコンテナ Pod では、ACS は最初のコンテナをメインコンテナとして識別します。その後、アノテーションの値とすべてのコンテナの
limitsの合計との差分をメインコンテナの.resources.limitsに割り当てます。メインコンテナの.resources.requestsも調整される可能性があり、Pod の合計リソースがターゲットスペックと一致するようにします。
例
アノテーション alibabacloud.com/pod-required-spec: "2-4Gi" を設定し、コンテナの .resources.requests または .resources.limits の合計が 1 vCPU および 2 GiB のメモリである Pod を考えてみます。Pod 起動時、ACS は追加リソースを最初のコンテナに適用し、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
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.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 # 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 | 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 | 該当なし | ||
2 × 96 GB | 16 | 16–128 | 1 | 30–512 |
32 | 32, 64, 128, 230 | 該当なし | ||
46 | 64, 128, 230 | 該当なし | ||
4 × 96 GB | 32 | 32, 64, 128, 256 | 該当なし | 30–1,024 |
64 | 64, 128, 256, 460 | 該当なし | ||
92 | 128, 256, 460 | 該当なし | ||
8 × 96 GB | 64 | 64, 128, 256, 512 | 該当なし | 30–2,048 |
128 | 128, 256, 512, 920 | 該当なし | ||
184 | 256, 512, 920 | 該当なし |
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 | 該当なし | ||
2 (141 GB GPU メモリ各) | 16 | 16–128 | 1 | 30–1,536 |
32 | 32, 64, 128, または 256 | 該当なし | ||
46 | 64, 128, 256, または 450 | 該当なし | ||
4 (141 GB GPU メモリ各) | 32 | 32, 64, 128, または 256 | 該当なし | 30–3,072 |
64 | 64, 128, 256, または 512 | 該当なし | ||
92 | 128, 256, 512, または 900 | 該当なし | ||
8 (141 GB GPU メモリ各) | 64 | 64, 128, 256, または 512 | 該当なし | 30–6,144 |
128 | 128, 256, 512, または 1,024 | 該当なし | ||
184 | 256, 512, 1,024, または 1,800 | 該当なし |
L20(GN8IS)
GPU 個数 | vCPU | メモリ (GiB) | メモリ増分 (GiB) | ストレージ (GiB) |
1 (48 GB) | 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 各) | 16 | 16–128 | 1 | 30–512 |
32 | 32, 64, 128, 230 | 該当なし | ||
4 (48 GB 各) | 32 | 32, 64, 128, 256 | 該当なし | 30–1,024 |
64 | 64, 128, 256, 460 | 該当なし | ||
8 (48 GB 各) | 64 | 64, 128, 256, 512 | 該当なし | 30–2,048 |
128 | 128, 256, 512, 920 | 該当なし |
L20X (GX8SF)
GPU | vCPU | メモリ (GiB) | メモリ増分 (GiB) | ストレージ (GiB) |
8 (141 GiB の GPU メモリ各) | 184 | 1,800 | 該当なし | 30–6,144 |
P16EN
GPU 個数 | vCPU | メモリ (GiB) | メモリ増分 (GiB) | ストレージ範囲 (GiB) |
1 (96 GiB) | 2 | 2–16 | 1 | 30–384 |
4 | 4–32 | 1 | ||
6 | 6–48 | 1 | ||
8 | 8–64 | 1 | ||
10 | 10–80 | 1 | ||
2 (96 GiB) | 4 | 4–32 | 1 | 30–768 |
6 | 6–48 | 1 | ||
8 | 8–64 | 1 | ||
16 | 16–128 | 1 | ||
22 | 32, 64, 128, または 225 | 該当なし | ||
4 (96 GiB) | 8 | 8–64 | 1 | 30–1,536 |
16 | 16–128 | 1 | ||
32 | 32, 64, 128, または 256 | 該当なし | ||
46 | 64, 128, 256, または 450 | 該当なし | ||
8 (96 GiB) | 16 | 16–128 | 1 | 30–3,072 |
32 | 32, 64, 128, または 256 | 該当なし | ||
64 | 64, 128, 256, または 512 | 該当なし | ||
92 | 128, 256, 512, または 900 | 該当なし | ||
16 (96 GiB) | 32 | 32, 64, 128, または 256 | 該当なし | 30–6,144 |
64 | 64, 128, 256, または 512 | 該当なし | ||
128 | 128, 256, 512, または 1,024 | 該当なし | ||
184 | 256, 512, 1,024, または 1,800 | 該当なし |
T4
GPU 個数 | vCPU | メモリ (GiB) | メモリ増分 (GiB) | ストレージ (GiB) |
1 (16 GB) | 2 | 2–8 | 1 | 30–1,536 |
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 | 該当なし | 30–1,536 | |
2 (16 GB × 2) | 16 | 16–64 | 1 | |
24 | 24, 48, 96 | 該当なし | ||
32 | 32, 64, 128 | 該当なし | ||
48 | 48, 96, 180 | 該当なし |
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 GPU メモリ各) | 16 | 16–64 | 1 | 30–512 |
32 | 32, 64, または 120 | 該当なし | ||
4 (24 GB GPU メモリ各) | 32 | 32, 64, または 128 | 該当なし | 30–1,024 |
64 | 64, 128, または 240 | 該当なし | ||
8 (24 GB GPU メモリ各) | 64 | 64, 128, または 256 | 該当なし | 30–2,048 |
128 | 128, 256, または 480 | 該当なし |
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 VRAM) | 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 VRAM 各) | 16 | 16–128 | 1 | 30–512 |
32 | 32, 64, 128, 230 | 該当なし | ||
4 (48 GB VRAM 各) | 32 | 32, 64, 128, 256 | 該当なし | 30–1,024 |
64 | 64, 128, 256, 460 | 該当なし | ||
8 (48 GB VRAM 各) | 64 | 64, 128, 256, 512 | 該当なし | 30–2,048 |
128 | 128, 256, 512, 920 | 該当なし |
G59
GPU | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (32 GB ビデオメモリ) | 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 | 該当なし | ||
2 (32 GB ビデオメモリ / GPU) | 16 | 16–128 | 1 | 30–512 |
32 | 32, 64, 128, 256 | 該当なし | ||
46 | 64, 128, 256, 360 | 該当なし | ||
4 (32 GB ビデオメモリ / GPU) | 32 | 32, 64, 128, 256 | 該当なし | 30–1024 |
64 | 64, 128, 256, 512 | 該当なし | ||
92 | 128, 256, 512, 720 | 該当なし | ||
8 (32 GB ビデオメモリ / GPU) | 64 | 64, 128, 256, 512 | 該当なし | 30–2048 |
128 | 128, 256, 512, 1024 | 該当なし | ||
184 | 256, 512, 1024, 1440 | 該当なし |
L20N
GPU | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) |
1 (48 GB ビデオメモリ) | 2 | 2–16 | 1 | 30–2,048 |
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 | 該当なし | ||
2 (48 GB 各) | 16 | 16–128 | 1 | |
32 | 32, 64, 128, 256 | 該当なし | ||
64 | 64, 128, 256, 512 | 該当なし | ||
4 (48 GB 各) | 32 | 32, 64, 128, 256 | 該当なし | |
64 | 64, 128, 256, 512 | 該当なし | ||
128 | 128, 256, 512, 1024 | 該当なし | ||
8 (48 GB 各) | 64 | 64, 128, 256, 512 | 該当なし | |
128 | 128, 256, 512, 1024 | 該当なし | ||
256 | 256, 512, 1024, 2048 | 該当なし |
L20NE
GPU | vCPU | メモリ (GiB) | メモリ増分 (GiB) | ストレージ (GiB) |
1 (72 GB GPU メモリ) | 2 | 2–16 | 1 | 30–2,048 |
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 | 該当なし | ||
2 (72 GB GPU メモリ各) | 16 | 16–128 | 1 | |
32 | 32, 64, 128, または 256 | 該当なし | ||
64 | 64, 128, 256, または 512 | 該当なし | ||
4 (72 GB GPU メモリ各) | 32 | 32, 64, 128, または 256 | 該当なし | |
64 | 64, 128, 256, または 512 | 該当なし | ||
128 | 128, 256, 512, または 1,024 | 該当なし | ||
8 (72 GB GPU メモリ各) | 64 | 64, 128, 256, または 512 | 該当なし | |
128 | 128, 256, 512, または 1,024 | 該当なし | ||
256 | 256, 512, 1,024, または 2,048 | 該当なし |
上記の GPU モデルは、従量課金、容量予約、BestEffort で同じスペックを共有しています。
16 GB 以下のメモリを持つスペックでは、メモリオーバーヘッドはACS が負担します。16 GB を超えるメモリを持つスペックでは、メモリオーバーヘッドは対応する Pod 間で分散されます。アプリケーションの安定稼働を確保するために、十分なリソースを予約する必要があります。
30 GB 以下のシステムディスク(イメージサイズを含む)については、追加料金は発生しません。30 GB を超えるシステムディスクについては、超過分に対して課金されます。
スペック調整
スペックを指定しない場合、ACS は GPU タイプの最小スペック(例:2 vCPU、2 GiB のメモリ、1 GPU)で GPU コンテナ Pod を作成します。
ACS は、サポートされていないスペックを自動的に正規化します。正規化後、コンテナの .resources.requests は変更されませんが、Pod スペックは alibabacloud.com/pod-use-spec アノテーションを通じて公開されます。コンテナに指定されたリソースリミット (resources.limits) が Pod スペックを超える場合、ACS は Pod スペックをコンテナのリソースリミットとして使用します。
CPU およびメモリの正規化ロジック: Pod 内のすべてのコンテナのリソース合計が 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
ハイパフォーマンスネットワーキング (HPN) GPU インスタンスの場合、ACS は Pod のリソース limit を request に設定することでリソースを調整します。ただし、Pod のリソースはノード容量にも制約されます。リクエストされたリソースがノードの容量を超える場合、リソース不足により Pod は pending 状態になります。ノードスペックの詳細については、購入ドキュメントをご参照ください。
Kubernetes の制限事項
ACS は仮想ノードを使用して Kubernetes と統合しています。このサーバーレスアーキテクチャにより、各 Pod はお客様が管理する専用ノードではなく、Alibaba Cloud リソースプール内の隔離された環境で実行されます。この設計およびセキュリティ上の理由から、ACS は HostPath や DaemonSet など、ホストへの直接アクセスを必要とする Kubernetes 機能をサポートしていません。以下の表では、これらの制限事項と推奨される代替手段について詳しく説明します。
制限事項 | 説明 | 失敗時の動作 | 推奨される代替手段 |
DaemonSet | DaemonSet ワークロードはサポートされていません。 | Pod は作成されますが、基盤となるノードがないため正常に機能しません。 | サイドカー パターンを使用して、各アプリケーション Pod にエージェントまたはサービスをデプロイします。 |
NodePort タイプのサービス | ホスト上のポートをコンテナにマッピングすることはサポートされていません。 | ワークロードの送信時にシステムが拒否します。 |
|
HostNetwork | ホストのネットワーク名前空間を使用することはサポートされていません。 |
| 該当なし。 |
HostIPC | ホストの IPC 名前空間を共有することはサポートされていません。 |
| 該当なし。 |
HostPID | ホストの PID 名前空間を共有することはサポートされていません。 |
| 該当なし。 |
HostUsers | ホストのユーザーネームスペースを使用することはサポートされていません。 | ACS が自動的にこのフィールドを null に設定します。 | 該当なし。 |
DNSPolicy | 以下の 説明
|
| サポートされている値を使用します。 |
環境変数の形式 | デフォルトの Kubernetes API サーバーの検証に加えて、ACS では GPU および GPU-HPN コンピュートタイプの場合、環境変数名は英数字、アンダースコア (_)、ドット (.)、ハイフン (-) のみで構成され、数字で始まってはならないという要件があります。 | Pod が起動しません。 | 準拠した環境変数名を使用します。 |
環境変数の数 | Linux システムコールによる引数リスト長の制限により、1 つのコンテナ内の環境変数の数は約 2,000 個に制限されます。 Pod の | Pod が起動しません。 | 環境変数の数を減らします。多くのサービスが存在する名前空間では、Pod の |
ポート使用状況
以下の表は、ACS で使用されるポートを示しています。ポート競合を避けるため、サービスをデプロイする際にこれらのポートを使用しないでください。
ポート | 説明 |
111, 10250, および 10255 | ACS クラスターはこれらのポートを |