第6章 Windows コンテナーワークロードのスケジューリング

Windows ワークロードを Windows コンピュートノードにスケジュールすることができます。

注記

WMCO はワークロードのプロキシー接続を介してトラフィックをルーティングできないため、クラスター全体のプロキシー を使用するクラスターではサポートされません。

前提条件

  • Operator Lifecycle Manager (OLM) を使用して Windows Machine Config Operator (WMCO) をインストールしている。
  • Docker 形式のコンテナーランタイムびアドオンが有効な状態で Windows コンテナーを OS イメージとして使用している。
  • Windows マシンセットを作成している。
重要

現時点で、Docker 形式のコンテナーランタイムは Windows ノードで使用されます。Kubernetes では、コンテナーランタイムとしての Docker を非推奨としています。詳細は、Kubernetes ドキュメントの Docker の非推奨 について参照してください。Containerd は、今後の Kubernetes リリースで Windows ノードについてサポートされる新しいコンテナーランタイムになります。

6.1. Windows Pod の配置

Windows ワークロードをクラスターにデプロイする前に、Pod が適切に割り当てられるように Windows ノードのスケジューリングを設定する必要があります。Windows ノードをホストするマシンがあるので、これは Linux ベースのノードと同じように管理できます。同様に、テイント、容認およびノードセレクターなどのメカニズムを使用して、Windows Pod の適切な Windows ノードへのスケジュールも同様に実行されます。

複数のオペレーティングシステム、および同じクラスターで複数の Windows OS バリアントを実行する機能で、RuntimeClass オブジェクトを使用して Windows Pod をベース Windows OS バリアントにマップする必要があります。たとえば、複数の Windows ノードが複数の Windows Server コンテナーのバージョンで実行されている場合、クラスターは Windows Pod を互換性のない Windows OS バリアントにスケジュールする可能性があります。クラスター上の Windows OS バリアントごとに RuntimeClass オブジェクトを設定する必要があります。クラスターで 1 つの Windows OS バリアントのみが利用可能である場合、RuntimeClass オブジェクトを使用することも推奨されます。

詳細は、ホストとコンテナーのバージョンの互換性 について参照してください。

重要

コンテナーの基本イメージは、コンテナーがスケジュールされるノードで実行されているものと同じ Windows OS バージョンおよびビルド番号である必要があります。

また、Windows ノードをあるバージョンから別のバージョンにアップグレードする場合 (たとえば、20H2 から 2022 に移行する場合)、新しいバージョンに一致するようにコンテナーの基本イメージをアップグレードする必要があります。詳細については、Windows コンテナーのバージョンの互換性 を参照してください。

関連情報