本文发表于一年多以前。较旧的文章可能包含过时的内容。请检查页面上的信息自发布以来是否已变为不正确。
Windows Server 支持来到 Kubernetes
编者注:这篇文章是关于 Kubernetes 1.5 新增功能的系列深度文章的一部分
在为用户提供选择的主题上,Kubernetes 1.5 版本 包含了对 Windows Server 的支持。超过 80% 的企业应用程序在 Linux 上运行 Java 或在 Windows 上运行 .Net,Kubernetes 正在预览将其范围扩展到绝大多数企业工作负载的功能。
新的 Kubernetes Windows Server 2016 和 Windows 容器支持包括以下功能的公共预览版
容器化的多平台应用程序 - 以前无法在 Linux 和 Windows 之间编排用 Go 和 .NET Core 等操作系统中性语言开发的应用程序。现在,通过 Kubernetes 中对 Windows Server 2016 的支持,此类应用程序可以部署在 Windows Server 和 Linux 上,让开发人员可以选择操作系统运行时。 客户已经渴望这项功能近二十年了。
同时支持 Windows Server 容器和 Hyper-V 容器 - Windows Server 2016 中有两种类型的容器。Windows 容器类似于 Linux 上的 Docker 容器,并使用内核共享。另一种称为 Hyper-V 容器,它比虚拟机更轻量级,同时提供更高的隔离性,它有自己的内核副本和直接内存分配。 Kubernetes 可以编排这两种类型的容器。
扩展的应用程序生态系统 - 在 Kubernetes 中引入 Windows Server 支持的关键驱动因素之一是扩展 Kubernetes 支持的应用程序生态系统:IIS、.NET、Windows 服务、ASP.NET、.NET Core,现在都可以在 Windows Server 上的容器中运行并由 Kubernetes 编排。
覆盖异构数据中心 - 各组织已经使用 Kubernetes 在全球 2000 强和财富 500 强中托管数万个应用程序实例。 这将允许他们将 Kubernetes 扩展到 Windows Server 的大量应用。
将 Windows Server 引入 Kubernetes 的过程是一项真正的多供应商合作,由 Windows 特别兴趣小组 (SIG) 倡导 - Apprenda、Google、Red Hat 和 Microsoft 都参与了将 Kubernetes 引入 Windows Server 的工作。关于社区为将 Kubernetes 引入 Windows Server 所做的努力,微软首席项目经理 Taylor Brown 表示:“这项新的 Kubernetes 社区工作进一步增强了 Windows Server 容器对流行编排器的支持选项,加强了微软对 Windows 和 Linux 生态系统都提供选择和灵活性的承诺。”
当前使用指南
| 在哪里使用 Windows Server 支持? | 目前,各组织应该开始在 Windows Server 上测试 Kubernetes 并提供反馈。大多数组织需要数月时间才能建立强化的生产环境,通用版本应该在 Kubernetes 的接下来的几个版本中提供。 | | 有哪些有效的功能? | 大部分 Kubernetes 构造(例如 Pod、服务、标签等)都可用于 Windows 容器。 | | 哪些功能还未有效? |
- 由于网络命名空间,Pod 抽象不相同。最终结果是,单个 POD 中的 Windows 容器无法通过 localhost 进行通信。Linux 容器可以通过将它们放在同一个网络命名空间中来共享网络堆栈。
- DNS 功能尚未完全实现
- 容器内部不支持 UDP
| | 何时准备好用于所有生产工作负载(通用版本)? | 目标是完善网络和其他需要改进的领域,以便 Kubernetes 用户获得 Windows Server 2016 的生产版本(包括 Windows Nano Server 和 Windows Server Core 安装选项),并在接下来的几个版本中提供支持。 |
技术演示
路线图
对基于 Windows Server 的容器的支持在 Kubernetes 1.5 中处于 Alpha 版本模式,但社区并未就此止步。客户希望为其整个技术产品组合提供企业强化的容器调度和管理。这必须包括 Linux 和 Windows Server 在生产环境中的功能完全对等。 Windows Server SIG 将在 Kubernetes 的未来一到两个版本中,通过以下几个关键投资领域来实现这种对等
- 网络 - SIG 将继续与 Microsoft 并肩合作,以增强 Windows Server 容器的网络支柱,特别是围绕为容器端点开启容器模式网络和本机网络覆盖支持。
- OOBE - 改进 Windows Server 节点的设置、部署和诊断,包括部署到任何云(Azure、AWS、GCP)的能力
- 运行时操作 - SIG 将在定义容器运行时接口 (CRI) 的监控接口中发挥关键作用,利用它来为基于 Windows Server 的容器提供深入的洞察和监控。开始使用
要开始在 Windows Server 2016 上使用 Kubernetes,请访问 GitHub 指南了解更多详细信息。
如果您想帮助支持 Windows Server,请与 Windows Server SIG 联系,或直接通过 GitHub 与 SIG 主管 Michael Michael 联系。
| | | Windows Server 2016 上 Kubernetes 的架构 |