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