最新のクラウドコンピューティングおよびコンテナ化環境では、ポッドは Kubernetes における最小のデプロイ可能な単位であり、通常 1 つ以上のコンテナで構成されます。ポッドの計算クラスと計算能力は、アプリケーションのパフォーマンスとリソース使用率に影響します。Container Compute Service (ACS) は、多様なビジネス要件を満たすために、さまざまな計算クラスと計算 Quality of Service (QoS) クラスを提供します。このトピックでは、ACS ポッドの前提条件、制限、および主要な機能について説明します。ACS ポッドの主要な機能には、セキュリティ分離、CPU、メモリ、および GPU リソースの構成、イメージのプル、ストレージ、ネットワーキング、およびログ収集が含まれます。
コンピューティング クラス
ACS ポッドは、汎用、パフォーマンス向上、GPU アクセラレーションの以下のコンピューティング クラスに分類されます。汎用およびパフォーマンス向上コンピューティング クラスは、一般的なコンピューティング シナリオに適しています。GPU アクセラレーション コンピューティング クラスは、ヘテロジニアス コンピューティング シナリオに適しています。ポッドのリソース供給は、ポッドのコンピューティング クラスによって異なります。
コンピューティング クラス | ラベル | メリット |
汎用 (既定) | 汎用 | このコンピュートクラスは、ほとんどのステートフルなマイクロサービスアプリケーション、Java Web アプリケーション、およびコンピューティングタスクに適しています。 |
パフォーマンス向上 | パフォーマンス | このコンピューティング クラスは、CPU ベースの AI と機械学習モデルのトレーニングと推論、ハイパフォーマンス コンピューティング (HPC) バッチ処理などの、より高いパフォーマンスを必要とするシナリオに適しています。 |
GPU アクセラレーション | GPU | このコンピュートクラスは、AI や HPC のシナリオなどの異種混在コンピューティングシナリオに適しています。たとえば、GPU アクセラレーション Pod を使用して、1 Pod 1 GPU ベースまたは 1 Pod 複数 GPU ベースで推論を実行できます。また、GPU アクセラレーション Pod を使用して、GPU 並列コンピューティングタスクを実行することもできます。 |
Pod のコンピューティングクラスを指定するには、Pod に alibabacloud.com/compute-class
ラベルを追加します。次のコードブロックは、general-purpose
Pod と gpu
Pod で実行される 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 // 計算クラスを general-purpose に設定します。
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
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
# Set the compute class to gpu. // 計算クラスを gpu に設定します。
alibabacloud.com/compute-class: "gpu"
# Set the GPU model to example-model. The value is for reference only. // GPU モデルを example-model に設定します。値は参照用です。
alibabacloud.com/gpu-model-series: "example-model"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
QoSクラス
ACS は 2 つの QoS クラスをサポートしています。ポッドのリソース供給も、ポッドの QoS クラスに基づいて異なります。
QoSクラス | ラベル | メリット | シナリオ |
既定 | default |
|
|
ベストエフォート | ベストエフォート |
|
|
Pod にコンピューティングパワー QoS クラスを割り当てるには、Pod に alibabacloud.com/compute-qos
ラベルを追加します。次のコードブロックは、default
コンピューティングパワー QoS クラスが割り当てられた Pod で実行される 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 // コンピューティングパワー QoS クラスを default に設定します。
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
ACS で定義されているコンピューティング パワー QoS クラスは、Kubernetes で定義されている Pod QoS クラス とは異なります。ACS のデフォルトのコンピューティング パワー QoS クラスは、Kubernetes の Guaranteed Pod QoS クラスに対応します。
BestEffort インスタンスは動的ストックを使用します。実稼働環境では、ストック内の BestEffort インスタンスを優先し、BestEffort インスタンスのストックが不足している場合はデフォルトの QoS クラスに自動的に切り替えることをお勧めします。詳細については、「カスタムリソーススケジューリングポリシー」をご参照ください。
コンピューティングクラスとコンピューティングパワー QoS クラス間のマッピング
コンピューティング クラス (ラベル) | サポートされている QoS クラス(ラベル) |
汎用 (はんよう) | Default(デフォルト)と BestEffort(ベストエフォート) |
パフォーマンス強化 (パフォーマンス) | デフォルト (default) |
GPU アクセラレーション (gpu) | Default(デフォルト)と BestEffort(ベストエフォート) |
主な機能
構成項目 | 説明 |
セキュリティ分離 | ACS ポッドは、基盤となるレイヤーでサンドボックスを実行してポッドを相互に分離することにより、コンテナーに安全で信頼性の高いランタイム環境を提供します。 さらに、ACS は異なるポッドを異なる物理マシンに優先的にスケジュールして、ポッドの高可用性を確保します。 |
CPU、メモリ、GPU、および一時ストレージの構成 |
|
画像 | デフォルトでは、ACS ポッドが再起動されるたびに、ポッドがデプロイされている仮想プライベートクラウド (VPC) を介してリモートコンテナーレジストリからイメージがプルされます。レジストリがパブリックにアクセス可能な場合は、VPC 用に NAT ゲートウェイを構成する必要があります。Container Registry (ACR) を使用してコンテナーイメージをホストすることをお勧めします。これにより、VPC を介したイメージのプルを高速化できます。さらに、ACS では、Secrets を使用せずに Container Registry からプライベートイメージをプルできます。 |
ストレージ | ACS は、データ永続性のためにディスクボリューム、NAS ボリューム、および Cloud Parallel File Storage (CPFS) ボリュームをサポートしています。
|
ネットワーク | デフォルトでは、各 ACS ポッドには、vSwitch から個別の IP アドレスと個別の Elastic Network Interface(ENI)が割り当てられます。 ACS ポッドは、相互に通信するために次の方法を使用します。
|
ログ収集 | Simple Log Service に Pod から |
リソース仕様
汎用およびパフォーマンス強化コンピューティングクラス
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. This document is intended for new individual users. This document describes how to create an Alibaba Cloud account, manage expenses, and use the Alibaba Cloud Management Console. このドキュメントは、新しい個人ユーザーを対象としています。このドキュメントは、Alibaba Cloud アカウントの作成、経費の管理、および Alibaba Cloud 管理コンソールの使用方法について説明しています。 2. After being authorized, you can view the authorized accounts on the Account Management page. 承認されると、[アカウント管理] ページで承認済みアカウントを表示できます。 3. PermissionsAdmin: Can manage the dashboards. 権限管理者: ダッシュボードを管理できます。 4. For more information, see Alibaba Cloud Documentation. 詳細については、「Alibaba Cloud ドキュメント」をご参照ください。 | Please provide the English text you would like me to translate. | 0.08 | |
Please provide the English text you would like me to translate. | Cost Management This documentation provides an overview of cost management features and tools available on Alibaba Cloud. It helps you understand how to monitor, control, and optimize your cloud spending. Key topics covered include the following: Billing Overview: Understand your billing cycle, payment methods, and how to view your invoices. Cost Explorer: Analyze your spending patterns, identify cost drivers, and track your spending against budgets. Budgets: Set up budgets to monitor your spending and receive alerts when you approach or exceed your budget thresholds. Cost Optimization: Learn strategies to optimize your cloud resources and reduce your overall spending. Pricing: Understand Alibaba Cloud's pricing model and explore different pricing options for various services. By effectively managing your costs, you can ensure that you only pay for what you need and maximize the value of your cloud investment. For more information, see Alibaba Cloud Support. ``` ```html コスト管理 このドキュメントでは、Alibaba Cloud で利用可能なコスト管理機能とツールの概要について説明します。クラウド支出の監視、制御、最適化の方法を理解するのに役立ちます。 主なトピック: [請求の概要]: 請求サイクル、支払い方法、請求書の表示方法について理解します。 [コストエクスプローラー]: 支出パターンを分析し、コストドライバーを特定し、予算に対する支出を追跡します。 [予算]: 支出を監視するための予算を設定し、予算しきい値に近づいたり、超過したりした場合にアラートを受け取ります。 [コストの最適化]: クラウドリソースを最適化し、全体的な支出を削減するための戦略について説明します。 [価格設定]: Alibaba Cloud の価格設定モデルを理解し、さまざまなサービスのさまざまな価格設定オプションを調べます。 コストを効果的に管理することにより、必要な分だけを支払い、クラウド投資の価値を最大化できます。 詳細については、「Alibaba Cloud サポート」をご参照ください。 ``` | 0.1 | ||
1.5 | 2~12 | Please provide the English text you would like me to translate. | ||
I'm sorry, I need the English text to translate. You provided "2" which is not translatable text in this context. Please provide the English text you want me to translate. | 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 | |||
(Assuming "8" is the entire content to be translated. If there's more context or HTML around it, please provide it.) 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 |
Pod のデフォルトのリソースリクエストは 0.25 vCPU と 0.5 GiB のメモリです。
リクエストが上記の表に含まれていない場合、ACS はコンテナのリソースリクエストを自動的に調整します。この調整によって .resources.requests
パラメータの値は変更されません。ただし、調整を示すために .alibabacloud.com/pod-use-spec
アノテーションが Pod の構成に追加されます。Pod 内のコンテナのリソース制限(.resources.limits
)が Pod のリソースリクエストよりも大きい場合、ACS はコンテナのリソース制限を Pod のリソースリクエストの値にリセットします。
Pod が 2 vCPU と 3.5 GiB のメモリを要求した場合、ACS はリソース要求を 2 vCPU と 4 GiB のメモリに調整します。追加のリソースは、Pod の最初のコンテナーに割り当てられます。.alibabacloud.com/pod-use-spec=2-4Gi
アノテーションが Pod に追加されます。この場合、Pod 内のコンテナーのリソース制限が 3 vCPU と 5 GiB のメモリである場合、ACS はリソース制限を 2 vCPU と 4 GiB のメモリにリセットします。
次のサンプルコードは、リソース構成を指定する方法の例を示しています。
apiVersion: apps/v1
kind: Deployment
...
template:
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: "4Gi" # 4 GiB のメモリをリクエストします。
ephemeral-storage: "30Gi" # 30 GiB のストレージスペースをリクエストします。
GPU アクセラレーション済みコンピューティング クラス
ACS は、以下の GPU モデルをサポートしています。GPU モデルによって仕様が異なる場合があります。詳細については、[チケットを提出する] をご参照ください。
第 8 世代 GPU A
インスタンスファミリ | 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 | |||
24 | 24, 32, 64, 128 | N/A | |||
2 (192 GB の GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 512 | |
32 | 32, 64, 128, 230 | N/A | |||
48 | 64, 128, 230, 512 | N/A | |||
4 (384 GB の GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 | |
64 | 64, 128, 256, 460 | N/A | |||
96 | 128, 256, 460, 1024 | N/A | |||
8 (768 GB の GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 2048 | |
128 | 128, 256, 512, 920 | N/A | |||
192 | 256, 512, 920 | N/A |
第 8 世代 GPU B
インスタンスファミリ | 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 ~ 128 | 1 | |||
2 (96 GB の GPU メモリ) | 16 | 16 ~ 128 | 1 | 30 ~ 512 | |
32 | 32, 64, 128, 230 | N/A | |||
4 (192 GB の GPU メモリ) | 32 | 32, 64, 128, 256 | N/A | 30 ~ 1024 | |
64 | 64, 128, 256, 460 | N/A | |||
8 (384 GB の GPU メモリ) | 64 | 64, 128, 256, 512 | N/A | 30 ~ 2048 | |
128 | 128, 256, 512, and 920 | N/A |
T4
インスタンスファミリ | GPU | vCPU | メモリ (GiB) | メモリステップサイズ (GiB) | ストレージ (GiB) | |||
スタンドアロン インスタンス ファミリ | 1 (GPU メモリ 16 GB) | I need the English text to translate. You've only provided the number "2". Please provide the full English text you want translated. | I'm sorry, I need the English text to translate. You've provided the numbers "2~8", which I assume refers to a section or lines of text, but I don't have the actual content to translate. Please provide the English text you want me to translate. | Please provide the English text you would like me to translate. | 30 ~ 1536 | |||
4 | 4~16 | Please provide the English text you would like me to translate. | ||||||
6 | 6~24 | Please provide the English text you would like me to translate. | ||||||
(No text provided to translate) | 8~32 | Please provide the English text you would like me to translate. | ||||||
10 | 10~40 | Please provide the English text you would like me to translate. | ||||||
12 | 12~48 | Please provide the English text you would like me to translate. | ||||||
14 | 14~56 | Please provide the English text you would like me to translate. | ||||||
16 | 16~64 | Please provide the English text you would like me to translate. | ||||||
24 | 24~64 | Please provide the English text you would like me to translate. | 30~1536 | |||||
2 (GPU メモリ 32 GB) | 16 | 16~64 | Please provide the English text you would like me to translate. | |||||
24 | 24、48、96 | N/A | ||||||
32 | 32、64、128 | N/A | ||||||
48 | 48、96、180 | N/A |
前述の GPU モデルは、従量課金制、キャパシティ予約、および BestEffort のシナリオで同じ仕様を共有します。各項目の説明は次のとおりです。
16 GB 以下のメモリ仕様の場合、メモリオーバーヘッドは ACS に割り当てられます。 16 GB を超えるメモリ仕様の場合、メモリオーバーヘッドは対応する Pod に割り当てられます。アプリケーションの安定性を確保するために、十分なリソースが予約されていることを確認してください。
システム ディスクが 30 GB 以下の場合 (イメージ サイズを含む)、追加料金は発生しません。 30 GB を超えるシステム ディスクの場合、超過分が課金されます。
自動仕様調整
GPU アクセラレーション ポッドのデフォルトのリソース要求は、2 vCPU、2 GiB のメモリ、および 1 GPU です。
リクエストが上記の表に含まれていない場合、ACS はコンテナのリソースリクエストを自動的に調整します。この調整によって .resources.requests
パラメータの値は変更されません。ただし、調整を示すために、.alibabacloud.com/pod-use-spec
アノテーションが Pod の構成に追加されます。Pod 内のコンテナのリソース制限(.resources.limits
)が Pod のリソースリクエストよりも大きい場合、ACS はコンテナのリソース制限を Pod のリソースリクエストの値にリセットします。
Pod が 2 vCPU と 3.5 GiB のメモリを要求した場合、ACS はリソース要求を 2 vCPU と 4 GiB のメモリに調整します。追加のリソースは、Pod 内の最初のコンテナーに割り当てられます。
.alibabacloud.com/pod-use-spec=2-4Gi
アノテーションが Pod に追加されます。この場合、Pod 内のコンテナーのリソース制限が 3 vCPU と 5 GiB のメモリの場合、ACS はリソース制限を 2 vCPU と 5 GiB のメモリにリセットします。ポッドの GPU リソース要求が上記の表に含まれていない場合、ポッド作成要求を送信できません。
Kubernetes の制限事項
ACS は、仮想ノードに基づいて Kubernetes とシームレスに統合されています。ACS ポッドは物理マシンにまとめてデプロイされるのではなく、Alibaba Cloud リソースプール全体に分散されます。パブリッククラウドのセキュリティの目的と仮想ノードの制限により、ACS は hostPath ボリュームや DaemonSet などの Kubernetes 機能をサポートしていません。次の表で詳細を説明します。
制限 | 説明 | 検証エラーの解決策 | 推奨される代替手段 |
DaemonSet | DaemonSet はサポートされていません。 | Pod は実行できますが、期待どおりに動作しません。 | ポッドにサイドカーコンテナーをデプロイします。 |
NodePort サービス | NodePort サービスはサポートされていません。NodePort サービスは、ホストのポートを使用してコンテナーを公開できます。 | NodePort サービスを作成するためのリクエストを送信することはできません。 |
|
ホストネットワーク | hostNetwork モードはサポートされていません。hostNetwork モードでは、ホストのポートを使用してコンテナーを公開できます。 |
| None |
HostIPC | hostIPC モードはサポートされていません。hostIPC モードでは、コンテナー内のプロセスがホスト上のプロセスと通信できます。 |
| None |
HostPID(ホスト PID) | hostPID モードはサポートされていません。 hostIPC モードでは、コンテナー内のプロセスがホストのプロセス ID(PID)名前空間にアクセスできます。 |
| None |
ホストユーザー | ユーザー名前空間はサポートされていません。 | hostUsers パラメーターは空のままにします。 | None |
ImagePullPolicy | 1 つのイメージダウンロードポリシーのみがサポートされています。 | サポートされていないイメージダウンロードポリシーを指定した場合、ACS は自動的にポリシーを | サポートされているイメージ ダウンロード ポリシーを指定します。 |
DNSPolicy | 特定の DNS ポリシーのみがサポートされています。 説明
|
| サポートされている DNS ポリシーを指定します。 |
ポートの使用状況
次の表は、ACS で使用されるポートについて説明しています。アプリケーションでは、次のポートを使用しないでください。
ポート | 説明 |
111、10250、および 10255 | ACS クラスターは、次の操作を実行するためにポートを使用します。exec、ログ、およびメトリクス。 |