あとがきのようなもの

インフラ関連,コンテナ,仮想化技術、過去に書いた記事の解説など

Windowsコンテナについて調べてみた

この記事は2019/12/2にQiitaに投稿した記事の転載です。

qiita.com


このエントリは 赤帽エンジニア Advent Calendar 2019 - Qiitaの2日目の投稿です。

Windowsのコンテナを中心とした技術の現在の状況について調べてみました。 技術自体は日々変わるので、2019年12月現在のスナップショットとして読み進めください。


用語

Windows版Dockerの導入

Windows 10Pro/Enterprise Edition

Windows Server

コンテナベースイメージ

4種類ある

  • Windows Server Core:Supports traditional .NET framework applications.
  • Nano Server:Built for .NET Core applications.
  • Windows:Provides the full Windows API set.
  • Windows IoT Core:Purpose-built for IoT applications.

課題

  • ベースイメージのサイズが大きい
  • Windows Serverのリリースサイクル
  • 半期チャネル(SAC)のサービス期間が18ヶ月
  • ベースイメージの前方互換サポート無し

Kubernetes on Windows

  • LinuxベースのK8sクラスターに、Windows Server(version 1809以降)をワーカーノードとして追加
  • K8s 1.14で正式サポート。
  • Supported for Windows Server containers Builds 17763.* with Docker EE-basic 18.09
  • プロセス分離のみサポート。Hyper-V分離は将来のリリースに計画。

コンテナランタイム(調査中)

  • CRIランタイム
  • docker EEのみ
  • OCIランタイム
  • runhcs:runcのフォーク。Host Compute Serviceと通信。

まとめ

Windowsコンテナと一言で言っても用語が統一されていなかったり、利用者の背景(Linuxコンテナなのか、Windows Serverなのか、K8sに関することなのか)によっても情報の意味することがバラバラだということが分かりました。 技術が枯れてくるまでは、相手が今何のことを指して言っているのか確認するのが良いと思います。

Red HatではOpenShift 4.xの今後のロードマップでWindowsワーカーノードのサポートが予定されています。リリースされるまでにもう少し情報を整理していきたいと思います。

参考リンク