深入了解 Kubernetes 上的 Windows 容器

Kubernetes 正在成为在生产中构建和管理云原生应用程序的标准。Windows 服务器应用程序也是如此。从 v1.9 开始,Windows 容器支持已经升级到 beta,并且正在向 GA 发展。 本主题将对 Kubernetes 上的 Windows 容器进行深入解读,其中包括 - Kubernetes 上的 Windows 容器的状态 - Windows 容器如何工作,例如集群、联网和存储 - 已知问题和缓解措施 - Windows 容器的前景
展开查看详情

1. Kubernetes Windows Pengfei Ni Microsoft Azure Kubernetes Maintainer

2.1. Windows

3.= = Container Container Container VM VM VM Applications Application App App App OS OS OS OS Kernel OS Hardware Hyper-V Hardware

4.

5.# FROM # IIS RUN powershell -Command Add-WindowsFeature Web-Server # CMD [ "ping", "localhost", "-t" ]

6.Windows nanoserver windowsservercore Windows windowsservercore-insider nanoserver-insider windows-insider 1 0 3 / / . / / .

7.

8.

9.- - Container Container Container Container Container Container Container Other Processes and Services OS Kernel Kernel Kernel Kernel Hyper-V Hardware Hardware

10.Window Server Optimized container images for Optimized Server Core image Optimized Server Core image Nano Server and Server Core App compat improvements App compat improvements Native command line tools – Enhanced Group Managed Service Platform level support for Linux curl.exe, tar.exe and SSH Account support containers Enhancements to the Windows Platform functionality for Subsystem for Linux Kubernetes and Microsoft Service Windows Subsystem for Linux Networking enhancements for Fabric greater density and quicker Performance and density endpoint creation improvements Networking enhancements for overlays and SDN Improved network security with Platform and open source work on Calico Open source storage plugins CNI networking plugins such as for Kubernetes Calico and Flannel Platform functionality required for Enhancements to the Windows Kubernetes conformance Subsystem for Linux … you will have to wait

11. 9 4 698 98 1684 4 698 06839 4 4 06839 4 4 06839 4 4 06839 4 4 673 673 673 673 06839 4 4 9 :4 183 :4 971 698 :4 971 698 :4 971 698 - 924 9 1 698 987 987 987 06839 4 4 9 :4 183 :4 971 698 :4 971 698 9 ::9 43 - 924 9 1 698 987 987 06839 4 4 9 :4 183 :4 971 698 9 ::9 43 9 ::9 43 - 924 9 1 698 987 06839 4 4 9 :4 183 9 ::9 43 9 ::9 43 9 ::9 43 - 924 9 1 698

12.2. Windows Server Kubernetes

13.

14.Kubernetes , - -- -

15.Kubernetes 101 Internet Master node Worker node etcd API Server Kubelet Kube-proxy Controller-manager scheduler Docker Pod Pod Pod Containers Containers Containers replication, namespace, serviceaccounts, etc.

16.Kubernetes+Windows

17.Alpha: v1.5 Virtual Filtering Beta: v1.9 Pod Platform (VFP) GA: ETA v1.14 CRI kubeadm Hyper-V CNI Windows Server

18. Master nodes (Linux) etcd API Server controller-manager scheduler replication, namespace, serviceaccounts, etc. Linux Nodes Windows Nodes Kubelet Kube-proxy Kube-proxy Kubelet Docker Pod Pod Pod Docker Pod Pod Pod Containers Containers Containers Containers Containers Containers

19. wincni ) ( - 2 ) (

20.wincni Pod 10.244.1.5 Pod 10.244.1.3 Pod 10.244.2.10 Pod 10.244.2.2 Containers Containers Containers Containers Hyper-V Virtual Switch Hyper-V Virtual Switch Node1 Node2 NIC 10.240.0.10 NIC 10.240.0.20 Prefix Next Hop 10.244.1.0/24 10.240.0.10 Internet 10.244.2.0/24 10.240.0.20

21., , , , , ,

22.Pod

23.• Windows Server 1709 Pod • Windows Host • DNS resolv • • Weave Net Calico • Local traffic policy

24.3.

25. v1.14 GA • Windows Server 2019 • Flex : SMB, iSCSI • Hyper-V Pod • Containerd • conformance tests node e2e tests

26.• Windows Server Linux • Containerd • : flexvolume, CSI • DaemonSet

27.• https://docs.microsoft.com/en- us/virtualization/windowscontainers/kubernetes/getting- started-kubernetes-windows • https://kubernetes.io/docs/getting-started-guides/windows/ • https://blogs.technet.microsoft.com/networking/2018/09/19/ws 2019-kubernetes/ • https://www.youtube.com/watch?v=j2B7cLdTXMw • https://github.com/Microsoft/SDN/tree/master/Kubernetes • https://trello.com/b/rjTqrwjl/windows-k8s-roadmap

28.Thanks & QA