Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Windowsコンテナ と OpenShift Container Platform

F6df8bd336f1ff47494a43c68a562bfa?s=47 satokota
April 04, 2022
370

Windowsコンテナ と OpenShift Container Platform

F6df8bd336f1ff47494a43c68a562bfa?s=128

satokota

April 04, 2022
Tweet

Transcript

  1. 日本アイ・ビー・エム株式会社 テクノロジー事業本部 カスタマー・サクセス プリンシパル・マネージャー 兼 Windows Container Porting Program 推進リーダー

    大西 彰 (Akira.Onishi@ibm.com Twitter: @oniak3) https://www.facebook.com/akira.onishi/ https://www.linkedin.com/in/oniak3/ Windows コンテナと OpenShift Container Platform
  2. 自己紹介 Property Value 氏名 大西 彰 Twitter/LinkedIn oniak3 IT業界歴 32年、まもなく33年目

    直近の職歴 Microsoft 12年, IBM 5年目 HashTag #いいねぇ静岡生活 座右の銘 踏まれてもなお立ち上がる道の草 よく使う技 脳内変換で自分をポジティブに https://www.facebook.com/akira.onishi Facebook「おにあく」で検索
  3. Agenda OpenShiftの世界観 Windows コンテナ WindowsコンテナをOpenShiftで実行 知る 体験する 未来を 考える

  4. None
  5. Why Red Hat OpenShift? 企業のDXを支えるプラットフォーム How? • LinuxとWindowsのアプリ、コンテナと仮想マシン • アプリの継続的な改善と展開

    • Operatorによる自律的な運用機能 What? (今日のトピック) • DockerベースのWindows コンテナ • Windows コンテナをOpenShiftで動かす
  6. 仮想マシン、コンテナ、Operator Red Hat OpenShift Container Platform 1. ネイティブアプリ (⼤きなコンテナ) OpenShift

    Virtualization 2. コンテナ化 したアプリ + Operatorに よる ⾃律的な 運⽤管理 3. コンテナ化 したアプリ 仮想マシン (ハードウェア仮想化) OS https://ibm.box.com/v/OpenShift-VirtDemo-Windows
  7. コンテナの実行、つまりOSの仮想化 Windows Server (ホストOS) Windows コンテナ Windows アプリ Windows コンテナ

    Windows サービス Linux (ホストOS) Linux コンテナ Linux アプリ Linux コンテナ Linux サービス ここ重要! ハードウェア仮想化ではない プロセス起動、ホストOSの機能を利用 コンテナ内の環境はホストOSとは独立 Linux ワーカーノード (物理/仮想マシン) Windows ワーカーノード (物理/仮装マシン) Red Hat OpenShift クラスタ (複数のLinuxマシン、Windowsマシンの集合体) Linux ワーカーノード (物理/仮想マシン) Windows ワーカーノード (物理/仮装マシン) Windows ワーカーノード (物理/仮装マシン) Linux ワーカーノード (物理/仮想マシン)
  8. Red Hat OpenShift Container Platform ハイブリッド・クラウド Windows 仮想マシン .NET Core/Linux

    コンテナ Java/Linux コンテナ (パッケージ製品) 例: IBM Cloud Paks … Windows ネイティブアプリ (パッケージ製品) URL1 URL2 URL3 URL n Windows コンテナ URL4 アプリ アプリ アプリ アプリ 今⽇はこの話!!
  9. デバイス、アプリ、サービス Red Hat OpenShift Container Platform ハイブリッド・クラウド Windows 仮想マシン .NET

    Core/Linux コンテナ Java/Linux コンテナ (パッケージ製品) … Windows ネイティブ アプリ (パッケージ製 品) URL1 URL2 URL3 URL n Windows コンテナ URL4 アプリ アプリ アプリ アプリ 今⽇は この話!! Windowsデバイス Apple デバイス (macOS, iOS, iPadOS, tvOS, watchOS) Androidデバイス (スマホ, タブレット, Android TV, Android Auto, スマートスピーカー) IoT デバイス コンテナ・レジストリ 開発環境 ロ " ド バ ラ ン サ "
  10. Windows アプリ、技術スタック(簡略) Intel/AMD x86/x64 ハードウェア (またはハードウェア仮想化による仮想マシン) Windows OS Kernel Windows

    API / Component Object Model / 後から追加されたODBCドライバーなど C ⾔語ランタイム ライブラリ Common Language Runtime / .NET Framework C/C++で作成したアプリ C#, Visual Basic.NETで作成したアプリ IISでホストするASP.NET Webアプリなど 他のランタイム (例:Java Runtime) Javaアプリ
  11. Windows コンテナ http://aka.ms/windowscontainers 2015年4月に発表 ホストOS: Windows Server 2016 Windows Server

    2019 Windows Server 2022 Windows 10 Windows 11
  12. Windowsコンテナを試す方法 1. 探す Docker Hub 2. 動かす Docker Desktop for

    Windows Hyper-V on Windows 10+ Windows Server 3. アプリを作る Visual Studio 2022
  13. https://video.ibm.com/channel/24519548/video/DockerWindowsContainer

  14. Windows コンテナ FAQ https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/about/faq Linuxコンテナとの違いは? • コンテナイメージはLinuxよりも大きい(プロセス起動は同じ) • Linuxコンテナ用のイメージ(Linuxバイナリ)は実行不可 •

    GUI無しのWindowsアプリを実行可能 専門的に言うとwinlogon.exeとdwm.exeがない ハードウェア要件は? • Windows が動作すること (IBM ZやIBM Powerでは動作しない)
  15. Windowsコンテナの動作 Windowsの技術を実行するコンテナ(GUI除く) Job Objectsによる複数プロセスのグループ化 Silos、リソースを名前空間毎に分離 Hardware Windows OS Windows Kernel

    Windows アプリ Windows サービス Windows コンテナ Windows アプリ Windows コンテナ Windows サービス
  16. Windows コンテナ活用に向けた検討事項 Desktop GUIアプリ WinForm WPFなど データ ベース サーバー 2階層のクライアント・サーバー

    3階層のクライアント・サーバー Desktop アプリ WinForm WPFなど ASP.NET ミドル層 (コンテナ) データ ベース サーバー ASP.NET Blazor Server アプリ (コンテナ) データ ベース サーバー ASP.NET Core Blazor アプリ モダンブラウザ対応の新しいクライアント・サーバー型 できる限り、 ・既存のビジネスロジック ・既存のデータベース を再利用 ※ このままではコンテナ化できない Desktop Standalone GUI アプリ (C/C++/.NET Frameworkなど) ※ 技術的にコンテナ化できない
  17. モダンブラウザへの対応という課題 2022/6/16 (日本時間) Internet Explorer サポート終了 ※ Windows 10 Enterprise

    LTSB/LTSCを除く Windows 11上では Internet Explorer が使えない (技術的にエンジンは残っているものの、継続的なセキュリティ対策はサポートされない) Microsoft Edge は Google Chrome と同じエンジン (ChromiumエンジンベースのMicrosoft Edgeは2020年1月15日にリリース、最新版へと続く)
  18. OpenShiftとWindowsコンテナ Windows Machine Config Operatorを利用 Windows Server 2019によるワーカーノード AWS, Azure,

    vSphere, ベアメタルに対応 https://docs.openshift.com/container-platform/4.9/windows_containers/understanding- windows-container-workloads.html Windows ノード (Windows Server 2019) Windows コンテナ Windows アプリ Windows コンテナ Windows サービス Linux ノード (RHCOS) Linux コンテナ Linux アプリ Linux コンテナ Linux サービス
  19. Windows ノードの追加方法 情報ソース https://cloud.redhat.com/blog/windows-containers-bring-your-own-host 前提条件 OpenShift version 4.8+ Use OVNKubernetes

    as the SDN (クラスタ作成時に設定) Set up Hybrid-Overlay Networking (クラスタ作成時に設定) Windows Server 2019 version 2004 前提条件の 確認 Windows Machine Config Operatorの インストール Windows Server マシンの インストール OpenShift クラスタへ Windows ノードの追加
  20. Demo OpenShift Windows ノード上のコンテナ実行

  21. https://video.ibm.com/channel/24519548/video/OpenShiftWindowsNode

  22. Windows ノード上のプロセス dockerd (Docker Engine) Windowsコンテナの実行を管理 https://cloud.redhat.com/learn/topics/windows-containers HNS (host network

    service) https://docs.microsoft.com/ja-jp/virtualization/windowscontainers/container-networking/architecture kubelet Podの起動や管理 Kube-proxy ネットワークプロキシ、Serviceコンセプトの一部を実装
  23. お知らせ Windows Container Porting Program コンテナ共創センターと連携し、 既存のWindowsソリューションのコンテナ化、 OpenShift対応に向けた技術アドバイスを実施

  24. まとめ Windows コンテナ、基本はDockerコンテナ Windows コンテナ、OpenShiftのサポート http://aka.ms/windowscontainers https://cloud.redhat.com/learn/topics/windows-containers 参考リソース:

  25. 25 OpenShift の⼒で ⽇本の未来を変えよう

  26. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報 提供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むも のでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗 ⽰にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害 が⽣じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかな る保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更することを意図したもので もなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰ するものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっ

    ていつでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講 演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰すること を意図したものでも、またそのような結果を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤し た測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラ ミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、 個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰された ものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、IBM Cloud、IBM Cloud Paksは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他 の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、 www.ibm.com/legal/copytrade.shtmlをご覧ください。 Microsoft, Windows, Windows Server, .NET Framework, .NET, .NET Coreは、Microsoft Corporationの商標または登録商標です。 Javaは、オラクルおよびその関連会社の登録商標です Red Hat, OpenShift, OpenShift Virtualization は、Red Hat, Inc の商標または登録商標です。