すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACK クラスター向けの仮想ノードスケジューリングソリューション

最終更新日:Aug 29, 2026

ACK マネージドクラスターおよびACK 専用クラスターの仮想ノードスケジューリング方法を比較し、お客様のスケジューリングシナリオに適したソリューションを選択します。

一般的な仮想ノードのスケジューリングシナリオ

  1. Pod を仮想ノードにのみスケジューリングする。

  2. ECS ノードを優先し、ECS リソースが不足している場合に仮想ノードにフォールバックする。

ACK マネージドクラスター (Basic Edition) では、最初のシナリオにはラベル alibabacloud.com/eci=true を使用します。2 番目のシナリオの場合は、ACK マネージドクラスター (Pro Edition) へのアップグレードが必要です。

説明

ACK マネージドクラスター (Pro Edition) は、より高い信頼性、SLA 保証、および大容量により、2 番目のシナリオにより適しています。シームレスに移行することで、ACK マネージドクラスター (Basic Edition) から ACK マネージドクラスター (Pro Edition) にアップグレードできます。

注意事項

  • ラベル alibabacloud.com/eci=true は最優先され、以下のスケジューリング方法をオーバーライドします:

    • nodeSelector、アフィニティとアンチアフィニティ、Pod トポロジースプレッド制約などの Kubernetes ネイティブのスケジューリングセマンティクス

    • ResourcePolicy

    • ElasticResource (アノテーション: alibabacloud.com/burst-resource)

  • ElasticWorkload および ElasticResource (アノテーション: alibabacloud.com/burst-resource) は、開発がアクティブでない状態のため、推奨されません。

  • virtual-kubelet-autoscaler コンポーネントはメンテナンスが終了しています。ご利用の ACK マネージドクラスター (Basic Edition)ACK マネージドクラスター (Pro Edition) にアップグレードし、このコンポーネントをアンインストールしてノードリソースを解放してください。Kubernetes ネイティブのスケジューリングセマンティクスを使用して、ECI Pod のゾーン間でのスプレッドデプロイメントとアフィニティベースのスケジューリングを実装します。

  • 動的にプロビジョニングされたディスクボリュームを使用する仮想ノード上の Pod では、WaitForFirstConsumer タイプの StorageClass は、以下のスケジューリング方法ではサポートされていません:

    • ラベル: alibabacloud.com/eci=true の使用。

    • nodeName で仮想ノードを指定する。

ソリューションの比較と選択に関する提案

比較表では以下の用語が使用されています:

  • 優先度ベースのスケジューリング:クラスターに異なるタイプのノードがある場合、スケジューリングの優先度を設定します。たとえば、ECS ノードを優先し、ECS リソースが不足している場合に仮想ノードにフォールバックします。

    優先度ベースのスケジューリングを使用しない場合、ノードタイプ間で優先度を割り当てることはできません。たとえば、ラベル alibabacloud.com/eci=true は、ECS を優先するフォールバックなしで、Pod を仮想ノードにのみスケジューリングします。

  • 厳密なスケジューリングポリシー:異なるノードプールタイプのスケジューリングルールがハード制約であるかどうかを決定します。

    • 厳密でないポリシーはソフト制約です。たとえば、ノードアフィニティの preferredDuringSchedulingIgnoredDuringExecution フィールドは ECS ノードを優先しますが、ノードスコアリングポリシーにより Pod が仮想ノードに配置される可能性があります。

    • 厳密なポリシーはハード制約です。たとえば、ResourcePolicy は、十分なリソースが利用可能な場合に Pod が ECS ノードにスケジューリングされることを保証します。

ACK マネージドクラスター (Pro Edition)

スケジューリング方法

代表的なシナリオ

優先度ベースのスケジューリング

ECI Pod の優先的なスケールイン

推奨

関連操作

ラベル: alibabacloud.com/eci=true

Pod を仮想ノードにのみスケジューリングします。特定の仮想ノードをターゲットにすることはできません。

非対応

該当なし

推奨

ECI で実行する Pod のスケジューリング

Kubernetes ネイティブのスケジューリングセマンティクス

nodeSelector

Toleration とともに使用し、Pod を仮想ノードにのみスケジューリングし、特定の仮想ノードをターゲットにします。

非対応

該当なし

推奨

nodeSelector

アフィニティとアンチアフィニティ

Taint、Toleration、NodeAffinity を使用して、Pod を ECI のみ、ECS のみ、または ECS を優先してスケジューリングします (例:ECS リソースが不足している場合に仮想ノードにフォールバックする)。

この方法は、ECI を最初にスケールインし、次に ECS をスケールインすることもサポートしています (そして、それのみをサポートします)。

対応 (厳密でないスケジューリングポリシー)

対応

推奨

ECS と ECI のリソース割り当ての指定

Pod トポロジースプレッド制約

高可用性とパフォーマンスのために、Pod をゾーン間に分散させます。

非対応

対応

推奨

ECI Pod のゾーン間でのスプレッドデプロイメントとアフィニティベースのスケジューリングを実装

ResourcePolicy

重要

v1.20 では、スケジューラは仮想ノードのスケジューリング不可チェックを無視します。v1.22 以降では、Taint チェックのみが無視されます。

v1.20 の動作を維持するには、スケジューラパラメーターで仮想ノードのスケジューリング機能を無効にします。

  • ノードプールごとの優先度ベースのスケジューリングをサポートします。たとえば、ノードプール A を優先し、リソースが不足している場合にノードプール B にフォールバックします。

  • ECS と ECI の共同デプロイメントシナリオでは、課金方法によるスケジューリングを設定します。たとえば、サブスクリプションの ECS、次いで従量課金の ECS、最後に ECI を優先します。

    スケールインはスケジューリングの逆の順序に従います:最初に ECI、次いで従量課金の ECS、最後にサブスクリプションの ECS です。

対応 (厳密なスケジューリングポリシー)

対応

推奨

弾性リソースの優先度ベースのスケジューリングのカスタマイズ

UnitedDeployment

レプリカ数に基づいて Pod を ECS または仮想ノードにスケジューリングします。たとえば、10 レプリカ以下の場合はサブスクリプションの ECS を、11 から 20 レプリカの場合はプリエンプティブルインスタンスを、20 レプリカを超える場合は ECI を使用します。

対応

対応

推奨

UnitedDeployment

Kubernetes ネイティブのスケジューリングセマンティクス

nodeSelector

Toleration とともに使用し、Pod を仮想ノードにのみスケジューリングし、特定の仮想ノードをターゲットにします。

非対応

対応

非推奨

ACK マネージドクラスター (Pro Edition) と比較して、ACK マネージドクラスター (Basic Edition) および ACK 専用クラスターの kube-scheduler は、スケジューリング中に基盤となるインベントリを認識できないため、Pod 作成の成功の確実性が低下します。

nodeSelector

アフィニティとアンチアフィニティ

Taint、Toleration、NodeAffinity を使用して、Pod を ECI のみ、ECS のみ、または ECS を優先してスケジューリングします (例:ECS リソースが不足している場合に仮想ノードにフォールバックする)。

対応 (厳密でないスケジューリングポリシー)

対応

アフィニティとアンチアフィニティ

Pod トポロジースプレッド制約

高可用性とパフォーマンスのために、Pod をゾーン間に分散させます。

非対応

対応

Pod トポロジースプレッド制約

ElasticWorkload

(開発が停止している状態です。UnitedDeployment の使用を推奨します。)

Deployment のレプリカをグループ化し、ECS ノードまたは仮想ノードにスケジューリングします。

対応

対応

非推奨

Elastic Workload を使用して弾性ワークロードの Pod を ECI にスケジューリングする (提供終了)

ElasticResource (アノテーション: alibabacloud.com/burst-resource)

(開発が停止している状態です)

2 つの弾性スケジューリングポリシーのみがサポートされています:

  • ECS ノードのリソースが不足している場合に Pod を仮想ノードにスケジューリングする (弾性スケジューリングポリシー: eci)。

  • Pod を仮想ノードにのみスケジューリングする (弾性スケジューリングポリシー: eci_only)。

対応

対応

非推奨

ElasticResource を使用した ECI ベースの弾性スケジューリングの実装 (提供終了)

virtual-kubelet-autoscaler コンポーネント

(メンテナンスは終了しています)

最初に Pod を ECS ノードにスケジューリングし、ECS ノードのリソースが不足している場合に Pod を仮想ノードにスケジューリングすることのみをサポートします。

対応

対応

非推奨

なし