クロスゾーン高可用性、GPU リソース、スケジューリングの優先度、イメージのプル、課金など、仮想ノードに関する一般的な問題の解決策を解説します。
目次
機能概要
仮想ノードの主要機能を一覧で確認できます。
機能 | サポート | 備考 |
クロスゾーン高可用性 | はい |
|
GPU リソース | はい | アノテーション (インスタンスタイプ) または |
ECS インスタンスとの混在スケジューリング | はい | Taint、Toleration、アフィニティルールで設定。 |
課金方法に基づくスケジューリングの優先度 | はい | サブスクリプション ECS → 従量課金 ECS → ECI インスタンス |
自己管理型 HTTP リポジトリからのイメージのプル | はい (回避策あり) | アノテーションを追加して HTTPS から HTTP に切り替え。 |
実際のリソース使用量に基づく課金 | いいえ | 作成時に設定した vCPU とメモリの仕様に基づいて課金されます。 |
仮想ノードによるクロスゾーン高可用性の実現
eci-profile の vSwitchIds フィールドに、複数のゾーンの vSwitch を指定します。クラスターは、ゾーン A やゾーン B などの対応するゾーンに仮想ノードを作成し、ECI ポッドのクロスゾーン高可用性を実現します。高可用性を確保するために、複数のゾーンの vSwitch を設定することをお勧めします。
「eci-profile の設定」をご参照ください。
仮想ノードでの GPU リソースのサポート
はい。次のいずれかの方法で、ECI ベースの Pod に GPU リソースを要求できます。
Pod の
metadataに、GPU アクセラレーション ECS インスタンスタイプを指定するアノテーションを追加します。GPU 数を指定するには、
resourcesにnvidia.com/gpuを追加します。
ワークロードの YAML ファイルをデプロイすると、クラスターは指定した GPU 構成で ECI Pod を自動的に作成します。
「GPU アクセラレーション対応インスタンスタイプを使用した Pod の作成」をご参照ください。
ECS と ECI インスタンス間のスケジューリングとスケールインの優先順位
Taint、Toleration、アフィニティルールを使用して、ECS と ECI インスタンス間の Pod 配置を制御します。Pod を ECS のみにスケジューリングする、ECI インスタンスのみにスケジューリングする、または ECS を優先して ECI インスタンスで不足分を処理する、といった構成が可能です。スケールイン時は、ECI ベースの Pod が先に削除されます。
「ECS インスタンスと ECI インスタンスに基づくリソース割り当ての設定」をご参照ください。
課金方法に基づくスケジューリングの優先度:
優先度 | リソースタイプ |
1 (最高) | サブスクリプション ECS インスタンス |
2 | 従量課金 ECS インスタンス |
3 (最低) | ECI インスタンス |
スケールインは逆順で実行されます。最初に ECI ベースの Pod が削除され、次に従量課金 ECS インスタンスの Pod、最後にサブスクリプション ECS インスタンスの Pod が削除されます。
「優先度に基づくリソーススケジューリングの設定」をご参照ください。
仮想ノードベースのスケジューリングソリューションの概要と比較でスケジューリングオプションを比較してください。
HTTPS 認証エラーによる自己管理型リポジトリからのイメージのプル失敗
ECI インスタンスは、デフォルトで HTTPS 経由でイメージをプルします。自己管理型イメージリポジトリが HTTP を使用している場合、プロトコルの不一致によりイメージのプルが失敗します。
この問題を解決するには、ECI インスタンスにアノテーションを追加して HTTP に切り替えます。詳細については、「自己管理型イメージリポジトリからのイメージのプル」をご参照ください。
ECI Pod の課金:リソース仕様と実際の使用量
Pod は、実際の使用量ではなく、作成時に設定した vCPU とメモリの仕様に基づいて課金されます。Elastic Container Instance でサポートされていない仕様を要求した場合、システムが自動的に仕様を調整し、調整後の仕様に基づいて課金されます。
「ECI インスタンスの課金」をご参照ください。