現代のクラウドコンピューティングおよびコンテナ化環境において、Pod は Kubernetes における最小デプロイ単位であり、通常 1 つ以上のコンテナーを含みます。Pod に割り当てられるコンピュートクラスおよび計算能力は、アプリケーションのパフォーマンスとリソース使用効率に直接影響します。Container Compute Service (ACS) では、多様なビジネス要件に対応するため、複数のコンピュートクラスおよびそれに対応する計算能力を提供しています。本トピックでは、ACS Pod の前提条件、制限事項、および主要機能(セキュリティ隔離、CPU・メモリ・GPU リソース構成、イメージプル、ストレージ、ネットワーク、ログ収集など)について説明します。
コンピュートタイプの定義
ACS では、コスト効率に優れた CPU および GPU コンテナコンピュートタイプを提供しています。各コンピュートタイプは異なるリソース構成を備え、特定のビジネスシナリオに適しています。
コンピュートタイプ | ラベル | 特徴 |
汎用(デフォルト) | general-purpose | ステートレスなマイクロサービスアプリケーション、Java Web アプリケーション、および計算集約型タスクなど、ほとんどの用途に適しています。 |
コンピュート最適化インスタンス | performance | CPU ベースの AI/ML トレーニングおよび推論、高性能コンピューティング(HPC)バッチ処理など、パフォーマンス集約型のビジネスシナリオに適しています。 |
GPU タイプ | gpu | AI/HPC などのヘテロジニアスコンピューティングシナリオ、たとえばシングル GPU およびマルチ 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
# コンピュートクラスを 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 数量を指定。必要に応じてリソースラベルと数量を記入。サポートされている 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
# コンピュートクラスを 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 種類の計算能力 Quality of Service(QoS)タイプをサポートしています。各 QoS タイプは異なるリソース保証を提供し、特定のビジネスシナリオにマッチします。
計算能力 QoS | ラベル | 特徴 | 代表的なシナリオ |
デフォルト | default |
|
|
BestEffort | best-effort |
|
|
Pod の計算能力 QoS は、alibabacloud.com/compute-qos ラベルを使用して指定します。以下の Nginx アプリケーションのオーケストレーション例では、計算能力 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 タイプとは異なります。現在、デフォルト計算能力 QoS クラスは Kubernetes の Guaranteed QoS クラスにマッピングされています。
BestEffort インスタンスは動的在庫を使用します。本番環境では、BestEffort インスタンスの在庫がある場合に優先的に使用し、BestEffort インスタンスの在庫が不足している場合は自動的にデフォルト QoS クラスにフォールバックします。詳細については、「カスタムリソーススケジューリングポリシー」をご参照ください。
コンピュートタイプと計算能力 QoS のマッピング
コンピュートタイプ(ラベル) | サポートされる計算能力 QoS(ラベル) |
汎用(general-purpose) | デフォルト(default)、BestEffort(best-effort) |
コンピュート最適化インスタンス | デフォルト(default)、BestEffort(best-effort) |
GPU(gpu) | デフォルト(default)、BestEffort(best-effort) |
高性能ネットワーク GPU(gpu-hpn) | デフォルト(default) |
CPU ブランドの指定
汎用およびコンピュート最適化インスタンスのコンピュートタイプでは、Intel および AMD の CPU をサポートしています。
Pod に alibabacloud.com/cpu-vendors アノテーションを追加するか、ワークロードの Pod テンプレート内に alibabacloud.com/cpu-vendors アノテーションを定義することで、CPU ベンダーを指定できます。現在、AMD CPU を指定するには、チケットを送信してホワイトリストサポートを有効化する必要があります。汎用およびパフォーマンス強化以外のコンピュートタイプに対してこのアノテーションを指定すると、「CPU ベンダーの指定はサポートされていません」というエラーが返されます。このアノテーションでサポートされる値は以下のとおりです。
キー | 値 | 説明 |
| intel(デフォルト) | Intel を CPU ブランドとして指定します。指定しない場合、デフォルト値は "intel" になります。 |
amd | AMD を CPU ブランドとして指定します。 | |
intel,amd | Intel または AMD を CPU ブランドとして指定します。システムは在庫状況に基づいて適切な 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 を再作成してアプリケーションの安定性に影響を与える恐れがあります。
主要機能
機能 | 説明 |
セキュリティ隔離 | 安全かつ信頼性の高いサーバーレスコンテナーランタイム環境として、各 ACS Pod インスタンスは軽量サンドボックスコンテナー技術により基盤レイヤーで強力に隔離されています。インスタンス同士が互いに影響を及ぼすことはありません。また、スケジューリング時に可能な限り異なる物理マシンに分散配置され、高可用性をさらに確保しています。 |
CPU/メモリ/GPU/EphemeralStorage リソース仕様構成 |
|
イメージ | デフォルトでは、ACS Pod が再起動されるたびに、Pod に関連付けられた VPC を介してリモートレジストリからコンテナイメージをプルします。イメージがパブリックイメージの場合、VPC に NAT ゲートウェイを設定する必要があります。イメージプル時間を VPC ネットワーク経由で短縮するために、コンテナイメージは Alibaba Cloud Container Registry (ACR) に保存することを推奨します。また、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 コンピュートタイプは送信時に Guaranteed QoS を維持する必要があります)。これにより、Pod ステータス更新の失敗を防げます。
汎用コンピュートタイプ
汎用コンピュートタイプ
vCPU | メモリ(GiB) | メモリステップサイズ(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 |
パフォーマンス計算タイプ
vCPU | メモリ(GiB) | メモリステップサイズ(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 |
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 メモリの場合、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 として宣言アノテーションを使用した Pod 仕様の指定
適用範囲
汎用およびコンピュート最適化インスタンス CPU Pod のみをサポートします。
アノテーションでサポートされる最大仕様は 64 vCPU/512 GiB で、「汎用コンピュートタイプ仕様」と一致します。
使用方法
Quality of Service(QoS) が Burstable(.resources.limits > .resources.requests)に設定されたワークロードの場合、alibabacloud.com/pod-required-spec: "X-YGi" アノテーションを使用して、対象となる Pod リソース仕様を宣言します。フォーマットは必ず <CPU>-<Memory> である必要があります。ここで、CPU はコア数で指定し(例:「2」は 2 vCPU を意味します)、メモリは GiB 単位で指定します(例:「4Gi」は 4 GiB を意味します)。詳細なスナップおよび使用ルールは以下のとおりです。
リソース仕様フォーマットが無効な場合(たとえば、単位が欠落している、Mi を使用している、順序が逆になっているなど)、Pod の作成は失敗します。
アノテーションを設定してもコンテナーの
.resourcesが定義されていない場合、システムはアノテーションに厳密に従って正規化を行い、デフォルト仕様(例:2 vCPU/4 GiB)に戻ることはありません。アノテーションで宣言された値が、すべてのコンテナーの
.resources.requestsの合計よりも小さい場合、Pod の作成は失敗します。アノテーションで宣言された値が、すべてのコンテナーの
.resources.limitsの合計を超える場合、システムはアノテーションで宣言された値を Pod の対象正規化仕様として使用します。マルチコンテナー Pod では、最初のコンテナーがプライマリコンテナーとして指定されます。アノテーションで宣言された値と
limitsの合計(宣言値-現在の limits 合計)との差分は、まずプライマリコンテナーの.resources.limits(必要に応じて.resources.requestsも調整)に割り当てられ、全体の Pod リソースを対象仕様に合わせます。
使用例
たとえば、alibabacloud.com/pod-required-spec: "2-4Gi" を設定し、コンテナーの .resources.requests または .resources.limits の累積値が 1 vCPU および 2 GiB メモリの場合、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 # 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.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 # 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 | メモリ(GiB) | メモリステップサイズ(GiB) | ストレージ(GiB) |
1(96 GiB 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 GiB × 2 GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
46 | 64, 128, 230 | N/A | ||
4(96 GiB × 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 GiB × 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 GiB 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 GiB × 2 GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 1536 |
32 | 32, 64, 128, 256 | N/A | ||
46 | 64, 128, 256, 450 | N/A | ||
4(141 GiB × 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 GiB × 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 GiB 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 GiB × 2 GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
4(48 GiB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 |
64 | 64, 128, 256, 460 | N/A | ||
8(48 GiB × 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 GiB × 8 GPU メモリ) | 184 | 1800 | N/A | 30 ~ 6144 |
P16EN
GPU (カード) | vCPU | メモリ(GiB) | メモリステップサイズ(GiB) | ストレージ(GiB) |
1(96 GiB 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 GiB × 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 GiB × 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 GiB × 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 GiB × 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 GiB 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 GiB × 2 GPU メモリ) | 16 | 16~128 | 1 | 30 ~ 512 |
32 | 32, 64, 128, 230 | N/A | ||
4(48 GiB × 4 GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 |
64 | 64, 128, 256, 460 | N/A | ||
8(48 GiB × 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 GiB 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 GiB × 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 GiB 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 GiB × 2 GPU メモリ) | 16 | 16~64 | 1 | 30 ~ 512 |
32 | 32, 64, 120 | N/A | ||
4(24 GiB × 4 GPU メモリ) | 32 | 32, 64, 128 | N/A | 30 ~ 1024 |
64 | 64, 128, 240 | N/A | ||
8(24 GiB × 8 GPU メモリ) | 64 | 64, 128, 256 | N/A | 30 ~ 2048 |
128 | 128, 256, 480 | N/A |
G59
GPU (カード) | vCPU | メモリ(GiB) | メモリステップサイズ(GiB) | ストレージ(GiB) | ネットワーク |
1(32 GiB 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 GiB × 2 GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 512 | |
32 | 32, 64, 128, 256 | N/A | |||
46 | 64, 128, 256, 360 | N/A | |||
4(32 GiB × 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 GiB × 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 |
記載されているすべてのカードタイプは、従量課金、容量予約、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アノテーションが付与されます。単一コンテナーが 3 vCPU および 5 GiB メモリのリソース制限を指定している場合、そのコンテナーの制限は 2 vCPU および 5 GiB になります。GPU の正規化ロジック:要求された GPU 数がサポートされていない場合、Pod の送信は失敗します。
GPU-HPN コンピュートクラス
高性能ネットワーク GPU インスタンスの場合、ACS はリソースの整合性を確保するために、制限をリクエストと等しく設定します。また、Pod リソース仕様はノード容量によって制限されます。Pod の仕様がノードの容量を超える場合、リソース不足により Pod はペンディング状態になります。ノード仕様の詳細については、購入仕様をご確認ください。
Kubernetes アプリケーションの制限事項
ACS は仮想ノードを使用して Kubernetes とシームレスに統合されています。そのため、ACS Pod インスタンスは集中管理された実ノード上で動作するのではなく、Alibaba Cloud のグローバルリソースプール全体に分散配置されます。パブリッククラウドのセキュリティ制約および仮想ノード固有の制限により、ACS では HostPath や DaemonSet などの特定の Kubernetes 機能をサポートしていません。以下の表にこれらの制限事項を詳しく示します。
制限事項 | 説明 | 検証失敗時のポリシー | 推奨代替案 |
DaemonSet | DaemonSet タイプのワークロードの使用を制限します。 | Pod は起動しますが、正常に機能しません。 | サイドカー パターンを使用して、Pod 内に複数のコンテナーをデプロイします。 |
Service タイプ NodePort | ホストポートをコンテナーにマッピングします。 | 送信は拒否されます。 |
|
HostNetwork | ホストポートをコンテナーにマッピングすることを制限します。 | 自動的に | 不要です。 |
HostIPC | コンテナープロセスとホストプロセス間のプロセス間通信を制限します。 | 自動的に | 不要 |
HostPID | コンテナーがホストの PID 名前空間にアクセスすることを制限します。 | 自動的に | 不要 |
HostUsers | ユーザーネームスペースの使用を制限します。 | 自動的に空の値に書き換えられます。 | 不要 |
DNSPolicy | 特定の DNSPolicy 値の使用を制限します。 説明
|
| 許可されている値のみを使用してください。 |
コンテナー環境変数フォーマット | Kubernetes API サーバーの標準制約に加えて、GPU および GPU-HPN コンピュートクラスでは、ACS が環境変数名に文字、数字、アンダースコア、ドット、ハイフンのみを含めることを要求します。最初の文字は数字であってはなりません。 | Pod 起動に失敗します。 | これらの要件を満たす環境変数名を使用してください。 |
コンテナー環境変数の数 | Linux システムのシステムコールにおけるパラメーターリスト長の制約により、コンテナーごとの環境変数の数は制限されます(およそ 2000 以下)。 また、Pod で enableServiceLinks(デフォルトは true)を有効にしている場合、現在の名前空間内のすべてのサービス情報が環境変数としてコンテナーに注入されるため、総数がシステム制限を超える可能性があります。 | Pod 起動に失敗します。 | コンテナー環境変数の数を減らしてください。多数のサービスを持つデプロイメントでは、Pod の enableServiceLinks 設定を無効にしてください。 |
予約済みポート
以下の表に ACS で予約されているポートを示します。サービスをデプロイする際は、これらのポートの使用を避けてください。
ポート | 説明 |
111, 10250, 10255 | ACS クラスターが exec、ログ、メトリックなどのインターフェイスに使用します。 |