このページでは、Google Kubernetes Engine(GKE)の Windows Server コンテナの概要について説明します。クラスタの作成方法については、Windows Server ノードプールを使用したクラスタの作成をご覧ください。
概要
GKE で Windows Server コンテナを使用すると、Kubernetes の利点である、アジリティ、デプロイ速度、Windows Server アプリケーションの管理の簡素化というメリットを得られます。Windows Server コンテナと Linux コンテナは同じクラスタ内で並列して実行できるため、両方のコンテナ プラットフォームを一元管理できます。Microsoft Hyper-V コンテナは、現時点ではサポートされていません。
ノードイメージ
Windows Server コンテナ(ノードイメージ)は、Windows Server Semi-Annual Channel(SAC)または Windows Server Long-Term Servicing Channel(LTSC)を使用して作成できます。1 つのクラスタで、異なる Windows Server バージョンを使用する複数の Windows Server ノードプールを使用できますが、各ノードプールで使用できる Windows Server のバージョンは 1 つのみです。これらのバージョンの違いについては、Windows Server ノードイメージを選択するをご覧ください。
ストレージ
Windows Server コンテナでは、GKE が提供する多くのストレージ オプションを利用できます。Windows で GKE ストレージ オプションを使用する例については、ローカル SSD をご覧ください。
Windows Server コンテナを使用する場合は、StorageClass
オブジェクトを作成し、そのオブジェクトの名前を PersistentVolumeClaim
オブジェクトの storageClassName
フィールドに指定する必要があります。これは、ext4
ファイル ストレージ タイプは Windows でサポートされていないためです。Compute Engine 永続ディスクを使用している場合は、ファイル ストレージ タイプとして NTFS を使用する必要があります。
Compute Engine の永続ディスクの CSI ドライバは Windows Server コンテナでも使用できます。詳細については、Compute Engine 永続ディスクの CSI ドライバを使用をご覧ください。
セキュリティ
Linux コンテナと同様に、Windows コンテナはプロセスとリソースの分離境界を備えています。Windows Server コンテナは、エンタープライズ マルチテナンシーで使用できます。ただし、Microsoft は Windows コンテナ エスケープの脆弱性を解決することを意図していないため、敵対的なマルチテナンシーのシナリオや、さまざまなリスクレベルが必要なシナリオで Windows ノードを使用することはおすすめしません。代わりに、アプリケーション チームや開発チームごとに、隔離のために個別のクラスタと Google Cloud プロジェクトを用意してください。
機能の制限事項
Kubernetes 機能の中には、Windows Server コンテナでまだサポートされていないものがあります。また、Linux 固有のもので、Windows では動作しない機能もあります。サポートされている Kubernetes 機能とサポートされていない Kubernetes 機能の完全なリストについては、Kubernetes のドキュメントをご覧ください。
サポートされていない Kubernetes 機能に加えて、サポートされていない GKE 機能もあります。
GKE クラスタの場合、次の機能は Windows Server ノードプールでサポートされていません。
- Cloud TPU(
--enable-tpu
) - イメージ ストリーミング
- ノード内の可視化(
--enable-intra-node-visibility
) - IP マスカレード エージェント
- Kubernetes アルファ クラスタ(
--enable-kubernetes-alpha
) - ノードローカル DNS キャッシュ
- クラス E の IP アドレスのプライベート使用
- パブリック IP アドレスのプライベート使用
- ネットワーク ポリシー ロギング
- Kubernetes
service.spec.sessionAffinity
- GPU(
--accelerator
) - ノードあたりの最大 Pod 数をデフォルトの上限(110)よりも大きく設定する
- Filestore CSI ドライバ
- Docker ベースの CloudSQL Auth Proxy
- Windows ノードでは IPv4 / IPv6 デュアルスタック ネットワーキングの IPv6 はサポートされていません。
Windows ノードプールでのローカル外部トラフィック ポリシーは、GKE バージョン v1.23.4-gke.400 以降でのみサポートされます。
GKE クラスタで使用する他の Google Cloud プロダクトでは、Windows Server ノードプールがサポートされていない場合があります。具体的な制限については、該当するプロダクトのドキュメントをご覧ください。
リソース
次のセクションでは、GKE の Windows Server コンテナに関連するリソースへのリンクを紹介します。
探索
GKE 上の Windows に関する情報を確認するには、次のリソースをご覧ください。
- GKE での Windows Server コンテナの実行のブログを読む。
- GKE 上の Windows Server コンテナの一般提供のブログを読む。
- Google Distributed Cloud での Windows Server のサポートのブログを読む。
- 以前の OS から Google Cloud への移行のケーススタディを読む。
始める
開始に役立つ以下のリソースをご覧ください。
- GKE Enterprise GKE で Windows アプリをモダナイズして実行する方法の動画を見る。
- 移行、管理、モダナイズ: GKE と GKE Enterprise による Windows ワークロードの強化のウェブセミナーを見る。
- Google Cloud での Windows ラボを試してみる。
- Google Cloud 上の新しい Microsoft と Windows のデモセンターのデモを試してみる。
- Windows Server ノードプールを使用してクラスタを作成する方法を学習する。
作成とデプロイ
アプリケーションの作成とデプロイに関するガイダンスについては、次のページをご覧ください。
- Windows Server アプリケーションをデプロイする
- ステートフル アプリケーションのデプロイ
- Windows Server マルチアーキテクチャ イメージのビルド
- Compute Engine 永続ディスクの CSI ドライバの使用
Active Directory との統合
Active Directory との統合のガイダンスについては、次のページをご覧ください。
- Google Cloud で Active Directory を実行するためのベスト プラクティス
- Active Directory ドメインに自動的に参加するように Windows Server ノードを構成する
- Windows 認証を使用する ASP.NET アプリを GKE Windows コンテナにデプロイする
トラブルシューティング
トラブルシューティングについては、診断情報の収集をご覧ください。
探索
GKE Enterprise で Windows を使用する方法については、次のリソースをご覧ください。
- Migrate to Containersで Windows ワークロードの移行について確認する。
- Google Distributed Cloud で Windows ノードプールを使用する方法を学習する。
パートナー ソリューション
アプリケーションをモダナイズする場合は、既存のツールやワークフローで動作するエンドツーエンドの DevOps 管理エクスペリエンスにもアプリケーションを組み込む必要があります。そのため、Google はさまざまなパートナーと協力して、ビルド、テスト、デプロイ、構成、モニタリングのアプリケーションが Windows コンテナで正しく動作することを確認しています。GKE の Windows コンテナに対応することが確認されているユースケースとパートナー ソリューションを以下に示します。
使用例 | 説明 | パートナー |
---|---|---|
CI / CD | パートナーの CI/CD ソリューションで、Windows コンテナで実行するアプリケーションをビルド、テスト、デプロイできます。 | |
オブザーバビリティ | パートナーの ITOps とアプリケーション パフォーマンス管理(APM)ソリューションでは、テレメトリーを収集し、Windows コンテナで管理されるインフラストラクチャとアプリケーションの可視性(ダッシュボード、レポート、分析情報)を提供できます。 | |
構成の管理とポリシー | パートナーのソリューションで、Google Cloud 上の Windows アプリケーション向けにシークレット管理またはプロビジョニング機能を提供できます。 | |
セキュリティ | パートナーのソリューションで、Windows コンテナで実行されるアプリケーションの開発と構成を保護できます。 |