Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)

全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)

Windows Server 2019 隨之而來的容器功能,帶領 Windows 容器化邁向另一個里程碑。本次演講將介紹全新容器功能,以及跟 Kubernetes 整合的歷程,並透過線上展示 Windows Server 2019 加入到 Kubernetes 叢集的完整步驟!

👉 Windows Server 高峰會
https://www.microsoft.com/taiwan/events/windows-server-2019/

Windows Server 2019 隨之而來的容器功能,帶領 Windows 容器化邁向另一個里程碑。本次演講將介紹全新容器功能,以及跟 Kubernetes 整合的歷程,並透過線上展示 Windows Server 2019 加入到 Kubernetes 叢集的完整步驟!

👉 Windows Server 高峰會
https://www.microsoft.com/taiwan/events/windows-server-2019/

Plus De Contenu Connexe

全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)

  1. 1. 多奇數位創意有限公司 技術總監 黃保翕 ( Will 保哥 ) 部落格:http://blog.miniasp.com/
  2. 2. Container Technologies Windows Server 2019 容器技術
  3. 3. 3 兩種容器執行模式 • Windows Server 容器技術 – 多個容器執行個體可以在一部主機上同時執行 – 透過命名空間、資源控制和程序隔離技術來提供容器隔離 • 在容器中執行的程式,在 Host 主機看的見! • 容器執行個體會與 容器主機 共用相同的作業系統核心 • Hyper-V 容器技術 – 為 Windows 容器技術增加容器間的隔離性 • 多個容器執行個體可以在一部主機上同時執行 • 透過虛擬機器來提供容器隔離 – 每個容器皆執行於一個名為 vmwp 的 Hyper-V 虛擬機中 – 每個 Hyper-V 容器 與 容器主機 之間提供核心層級隔離 docker run -it --isolation=hyperv microsoft/windowsservercore cmd
  4. 4. 4 伺服器上的 Linux 容器技術 • Linux Containers on Windows (LCoW) – 基於 Hyper-V Isolation 隔離容器技術 – 採用 Docker 公司推出的 Moby project – 目前還有些 Linux 應用程式無法順利執行!
  5. 5. 5 全新的 Windows 容器基本映像 • 更小的容器映像 (container images) • nanoserver – 磁碟大小:1GB  231MB – 下載大小:500MB  98MB • windowsservercore – 磁碟大小:9.7GB  4.88GB – 下載大小:7GB  1.58 GB • 詳細文件 – https://aka.ms/containers
  6. 6. 6 Windows Server 2019 的 WSL • 好文推薦 – Windows Subsystem for Linux on Windows Server – Enable the Windows Subsystem for Linux (WSL) • 啟用選用功能 – Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux • 手動下載 WSL 套件 – Manually download WSL distro packages • 第一次初始化要先設定帳號密碼 – Initialize a new WSL Linux distro – sudo apt update && sudo apt upgrade
  7. 7. 7 Linux containers on Windows (LCoW) • 一台伺服器可同時執行 LCoW 與 WCoW docker run -d -p 80:80 willh/ws2019-iis docker run -d --isolation=hyperv -p 8080:8080 tomcat docker run -d --isolation=hyperv -p 8081:80 nginx
  8. 8. 8 搶先體驗全新功能 • Windows Server 2016 頻繁的更新 – Semi-Annual Channel (半年發行頻道) – 將累積更新到 Windows Server 2019 作業系統! • Windows 10 Insider Build Download – 請一律安裝英文版
  9. 9. 9 相關連結 • Windows 容器文件 (最豐富最完整的文件庫) – Enable Nested Virtualization when applicable • Windows 測試人員計畫 (Windows Insider Program) • Windows 10 Insider Build Download (請一律安裝英文版) • Docker Hub for Insider container images – https://hub.docker.com/r/microsoft/windowsservercore-insider – https://hub.docker.com/r/microsoft/nanoserver-insider • Windows Server 2019 Insider Preview Build Releases • Windows Server Blog | Your Guide to the Latest Windows Server Product Information • Virtualization Blog | Information and announcements from Program Managers, Product Managers, Developers and Testers in the Microsoft Virtualization team. • Everything you need to know about Windows Server 2019 – Part 1 • Everything you need to know about Windows Server 2019 – Part 2 • Everything you need to know about Windows Server 2019 – Part 3 • Introducing Windows Server 2019 – now available in preview
  10. 10. Windows Server & Kubernetes Windows Server 與 Kubernetes
  11. 11. Kubetnetes 在做的事 資源調度 Affinity/anti-affinity 正相關/反相關 Health monitoring 健康監視 Failover 容錯轉移 Scaling 規模擴大 Networking 網路通訊 Service discovery 服務探索 Coordinated app upgrades 協作與更新
  12. 12. Kubernetes: 業界標準的調度器 可攜性 Public, private, hybrid, multi-cloud 延展性 Modular, pluggable, hookable, composable 自我修復 Auto-placement, auto-restart, auto-replication, auto-scaling
  13. 13. Kubernetes: 賦予你做的更多 快速且可預期的 應用程式部署 及時延展你的 應用程式 推出新功能 無縫接軌 有限的硬體僅使用 在需要的資源上
  14. 14. 混合 Windows 與 Linux 叢集 Controller-Manager Scheduler ApiServer Kubelet Kube-proxy CRI/CNI/Storage Plugins
  15. 15. 15 Windows 與 Kubernetes 整合之路 • Windows Special Interest Group (#SIG-Windows) • 一個從 April 2016 組成的專家團隊 – 成員:Apprenda, Google, RedHat, Microsoft – 主席:Michael Michael @ Apprenda – 第一版 Alpha released 只在組成的幾個月後 • 社群參與者成長快速 – CloudBase – TicketMaster – Docker – Huawei
  16. 16. 16 Windows Server 2016 • 2016/10 • First release with containers
  17. 17. 17 Kubernetes 1.5 • 2016/12 • Initial alpha • Kubelet, kube-proxy on Windows • Networking limitations – 1 container per pod • Worked with .NET Framework, Server Core & Nano • Showed potential, helped rally community effort
  18. 18. 18 Kubernetes 1.8 • 2017/09 • Config maps • Secrets • Volumes • Documentation
  19. 19. 19 Kubernetes 1.9 • 2017/12 • Beta release • CRI – pod & node level stats • Kubeadm support • CNI plugin for OVS/OVN • With Windows Server version 1709 – Multiple containers per pod – Kube-proxy with kernel mode – Improved performance – WinCNI plugin
  20. 20. 20 Kubernetes 1.10 • 2018/03 • Pods with Hyper-V isolation • ImageFS stats • CPU+Mem resource governance • Native Windows service • With Windows Server version 1803 – Persistent Volumes, secrets & configmap – Flexvolume: iSCSI, SMB
  21. 21. 21 Kubernetes 1.11 • 2018/06 • Metrics: Pod, Container, Log filesystem • Security contexts: run_as_user • Local persistent volumes
  22. 22. 22 進行中的開發項目 • Quality & Conformance – Conformance & Node E2E Testing • CloudBase+Microsoft effort • Updating tests • Finding & fixing bugs • Ecosystem Readiness – Switch to ContainerD for latest Windows platform support – Storage & network plugins • Setup & Documentation • Feature completion – Kubernetes • Autoscaling – Windows • Active Directory Group Managed Service Accounts • Hyper-V isolation - multiple containers per pod
  23. 23. 23 參加 Insider Preview 的由衷建議 • 不要用 Azure 測試 WS2019 + Kubernetes – 利用 ACE-Engine 體驗預覽版 – Azure Container Service (ACS) – https://github.com/azure/acs-engine • 選擇正確的容器 Image ( Link ) – Windows Server Containers 與 OS 共用 Kernel – 只要 Image Base 與 OS Kernel 不一致就不能跑 • 例外: --isolation=hyperv – 注意 Build Number (new release of Windows) – 注意 Revision Number (patching)
  24. 24. 24 相關連結 • Extending Kubernetes to Windows Server with Docker EE • Kubernetes Flannel.docx (重要) • What's New in Windows Server 2019 Insider Preview Builds • Matching Container Host Version with Container Image Versions • 虛擬化技術在 GitHub 上面的 Docs & Samples: • .NET Architecture Guidance
  25. 25. 25 聯絡資訊 • The Will Will Web 記載著 Will 在網路世界的學習心得與技術分享 – http://blog.miniasp.com/ • Will 保哥的技術交流中心 (臉書粉絲專頁) – http://www.facebook.com/will.fans • Will 保哥的噗浪 – http://www.plurk.com/willh/invite • Will 保哥的推特 – https://twitter.com/Will_Huang

Notes de l'éditeur

  • 展示 Windows Server 2019 同時執行 LCOW 與 WCOW
    ```cmd
    cd c:\build
    set LCOW_SUPPORTED=1
    .\dockerd.exe -D --data-root C:\lcow --experimental
    ```
    ```bash
    docker run -d -p 81:80 willh/ws2019-iis
    ```
    ```bash
    docker run -d --isolation=hyperv -p 8080:8080 tomcat
    ```
    ```bash
    docker run -d --isolation=hyperv -p 8081:80 nginx
    ``
  • https://msdn.microsoft.com/zh-tw/virtualization/windowscontainers/quick_start/manage_powershell#windows-server-容器

    Windows Container、Hyper-V Container 可以互轉

    New-Container -Name HyperV -ContainerImageName NanoServer -SwitchName "Virtual Switch“
    Set-Container HyperV -RuntimeType HyperV
    Set-Container HyperV –RuntimeType Default

  • Exciting new things for Docker with Windows Server 1709 - Docker Blog
    https://blog.docker.com/2017/09/docker-windows-server-1709/

    Preview: Linux Containers on Windows - Docker Blog
    https://blog.docker.com/2017/09/preview-linux-containers-on-windows/

    Install Docker Enterprise Edition for Windows Server | Docker Documentation
    https://docs.docker.com/install/windows/docker-ee/

    Preview Docker for Windows Server 1709 and Windows 10 Fall Creators Update
    https://docs.docker.com/install/windows/ee-preview/

×