本文发表已超过一年。较旧的文章可能包含过时内容。请检查页面中的信息自发布以来是否已失效。
Windows Server 支持来到 Kubernetes
编者注: 这篇文章是关于 Kubernetes 1.5 新功能的系列深度文章的一部分
延续为用户提供选择的主题,Kubernetes 1.5 版本包含了对 Windows Servers 的支持。鉴于超过 80% 的企业应用在 Linux 上运行 Java 或在 Windows 上运行 .Net,Kubernetes 正在预览将其覆盖范围扩展到绝大多数企业工作负载的能力。
新的 Kubernetes Windows Server 2016 和 Windows 容器支持包含以下功能的公开预览版:
容器化多平台应用 - 以前,用 Go 和 .NET Core 等操作系统无关语言开发的应用无法在 Linux 和 Windows 之间进行编排。现在,通过 Kubernetes 对 Windows Server 2016 的支持,这些应用可以部署在 Windows Server 和 Linux 上,为开发者提供了操作系统运行时的选择。这项能力是客户近二十年来一直期望的。
同时支持 Windows Server Containers 和 Hyper-V Containers - Windows Server 2016 中有两种类型的容器。Windows Containers 类似于 Linux 上的 Docker 容器,使用内核共享。另一种称为 Hyper-V Containers,比虚拟机更轻量级,同时提供更大的隔离性,拥有自己的内核副本和直接内存分配。Kubernetes 可以编排这两种类型的容器。
扩展的应用生态系统 - 在 Kubernetes 中引入 Windows Server 支持的关键驱动因素之一是扩展 Kubernetes 支持的应用生态系统:IIS、.NET、Windows Services、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 的社区努力,Microsoft 首席项目经理 Taylor Brown 表示:“这项新的 Kubernetes 社区工作进一步增强了 Windows Server 容器对流行编排器的支持选项,重申了 Microsoft 对 Windows 和 Linux 生态系统选择和灵活性的承诺。”
当前使用指南
| 何时使用 Windows Server 支持? | 现在组织应该开始在 Windows Server 上测试 Kubernetes 并提供反馈。大多数组织需要数月才能建立强化的生产环境,正式可用性 (GA) 预计将在后续几个 Kubernetes 版本中提供。 | | 哪些功能可用? | 大多数 Kubernetes 构造,例如 Pods、Services、Labels 等,都适用于 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 Containers 的网络基础,特别是在启用容器模式网络和对容器端点提供原生网络叠加支持方面。
- OOBE (开箱即用体验) - 改进 Windows Server 节点的设置、部署和诊断,包括部署到任何云 (Azure, AWS, GCP) 的能力。
- 运行时操作 - SIG 将在定义容器运行时接口 (CRI) 的监控接口方面发挥关键作用,利用它来为基于 Windows Server 的容器提供深入的洞察和监控。开始使用
要开始在 Windows Server 2016 上使用 Kubernetes,请访问 GitHub 指南获取更多详情。
如果你想帮助改进 Windows Server 支持,请联系Windows Server SIG,或直接在 GitHub 上联系 SIG Lead Michael Michael。
| | | Windows Server 2016 上的 Kubernetes 架构 |