Kubernetes 1.14:对 Windows 节点的生产级支持、Kubectl 更新、持久化本地卷正式可用
我们很高兴地宣布 Kubernetes 1.14 发布,这是我们 2019 年的第一个版本!
Kubernetes 1.14 包括 31 项增强功能:10 项升级到稳定版,12 项处于 Beta 版,以及 7 项全新功能。此版本的主要主题是可扩展性以及支持 Kubernetes 上的更多工作负载,有三项主要功能升级到正式可用,一项重要的安全功能升级到 Beta 版。
与以往任何 Kubernetes 版本相比,此版本中有更多的增强功能升级到稳定版。这对于用户和运维人员来说,在设置支持期望方面是一个重要的里程碑。此外,此版本中还有值得注意的 Pod 和 RBAC 增强功能,这些将在下面的“其他值得注意的功能”部分进行讨论。
让我们深入了解此版本的主要功能
对 Windows 节点的生产级支持
到目前为止,Kubernetes 中对 Windows 节点的支持一直处于 Beta 版,这使得许多用户能够进行实验并看到 Kubernetes 对 Windows 容器的价值。Kubernetes 现在正式支持将 Windows 节点添加为工作节点并调度 Windows 容器,使庞大的 Windows 应用生态系统能够利用我们平台的强大功能。企业拥有基于 Windows 应用和基于 Linux 应用的投资,无需寻找单独的协调器来管理其工作负载,从而提高其跨部署的操作效率,无论操作系统如何。
在 Kubernetes 中启用 Windows 容器的一些主要功能包括
- 支持 Windows Server 2019 作为工作节点和容器
- 支持通过 Azure-CNI、OVN-Kubernetes 和 Flannel 实现树外网络
- 改进对 Pod、服务类型、工作负载控制器和指标/配额的支持,使其与 Linux 容器提供的功能更接近
重要的 Kubectl 更新
新的 Kubectl 文档和 Logo
kubectl 文档已彻底重写,重点在于使用声明式资源配置管理资源。文档已作为独立网站发布,格式为书籍,并已链接到主 k8s.io 文档(可在 https://kubectl.docs.kubernetes.io 访问)。
新的 kubectl logo 和吉祥物(发音为 kubee-cuddle)显示在新文档网站的 logo 上。
Kustomize 集成
kustomize 的声明式资源配置编写功能现在可通过 -k
标志(例如用于 apply, get
等命令)和 kustomize
子命令在 kubectl 中使用。Kustomize 帮助用户使用 Kubernetes 原生概念编写和重用资源配置。用户现在可以使用 kubectl apply -k dir/
将包含 kustomization.yaml
的目录应用于集群。用户还可以通过 kubectl kustomize dir/
将定制的资源配置输出到标准输出,而无需应用它们。新功能在新文档中记录于 https://kubectl.docs.kubernetes.io
kustomize 子命令将继续在 Kubernetes 拥有的 kustomize 仓库中开发。最新的 kustomize 功能将通过独立的 kustomize 二进制文件(发布到 kustomize 仓库)以频繁的发布周期提供,并在每个 Kubernetes 版本发布之前更新到 kubectl 中。
kubectl 插件机制升级到稳定版
kubectl 插件机制允许开发者以独立二进制文件的形式发布他们自己的自定义 kubectl 子命令。这可用于通过新的更高级功能和额外的便捷功能(例如添加 set-ns
命令)扩展 kubectl。
插件必须具有 kubectl-
名称前缀,并且位于用户的 $PATH 中。插件机制已为正式可用大大简化,并类似于 git 插件系统。
持久化本地卷现已正式可用
此功能升级到稳定版,使得本地连接的存储可用作持久卷来源。由于性能和成本原因,分布式文件系统和数据库是持久化本地存储的主要用例。在云提供商上,本地 SSD 比远程磁盘性能更好。在裸金属上,除了性能之外,本地存储通常更便宜,并且使用它是配置分布式文件系统的必要条件。
PID 限制功能正在升级到 Beta 版
进程 ID (PID) 是 Linux 主机上的一个基础资源。在不触及任何其他资源限制的情况下很容易达到任务上限,并导致主机不稳定。管理员需要机制来确保用户 Pod 不会导致 PID 耗尽,从而阻止宿主守护进程(运行时、kubelet 等)运行。
此外,确保 Pod 之间限制 PID 的数量也非常重要,以确保它们对节点上的其他工作负载影响有限。作为一项 Beta 功能,管理员可以为每个 Pod 提供默认的 PID 数量。此外,作为一项 Alpha 功能,管理员可以通过节点可分配资源为用户 Pod 保留一定数量的可分配 PID,从而启用节点到 Pod 的 PID 隔离。社区希望在下个版本中将此功能升级到 Beta 版。
其他值得注意的功能更新
Pod 优先级和抢占使 Kubernetes 调度器能够优先调度更重要的 Pod,当集群资源不足时,会移除不重要的 Pod,为更重要的 Pod 创建空间。重要性由优先级指定。
Pod Readiness Gates 引入了一个扩展点,用于外部对 Pod 就绪性的反馈。
强化默认的 RBAC 发现集群角色绑定将发现从默认允许未经身份验证访问的 API 集中移除,从而提高 CRD 的隐私性以及默认集群的默认安全态势。
可用性
Kubernetes 1.14 可在 GitHub 下载。要开始使用 Kubernetes,请查看这些交互式教程。您也可以使用 kubeadm 轻松安装 1.14。
功能博客系列
如果您有兴趣更深入地探索这些功能,请下周再来查看我们的 Kubernetes 五日系列,我们将在其中重点介绍以下功能的详细演练:
- 第一天 - Windows Server 容器
- 第二天 - 强化默认的 RBAC 发现集群角色绑定
- 第三天 - Kubernetes 中的 Pod 优先级和抢占
- 第四天 - PID 限制
- 第五天 - 持久化本地卷
发布团队
此版本通过数百名贡献了技术和非技术内容的个人的努力得以实现。特别感谢由 Google 高级测试工程师 Aaron Crickenberger 领导的发布团队。发布团队的 43 名成员协调了发布的许多方面,从文档到测试、验证和功能完整性。
随着 Kubernetes 社区的成长,我们的发布流程是开源软件开发中协作的绝佳体现。Kubernetes 正以惊人的速度持续获得新用户。这种增长创造了一个积极的反馈循环,更多贡献者提交代码,从而创建了更活跃的生态系统。Kubernetes 迄今已有超过 28,000 名独立贡献者,并拥有超过 57,000 人的活跃社区。
项目进展速度
CNCF 一直在持续改进 DevStats,这是一个雄心勃勃的项目,旨在可视化投入到项目中的海量贡献。K8s DevStats 展示了主要公司贡献者的贡献细分,以及一系列令人印象深刻的预配置报告,涵盖从独立贡献者到拉取请求生命周期时间的一切信息。在过去的一年里,平均每月有 381 家不同的公司和超过 2,458 名个人为 Kubernetes 做出贡献。访问 DevStats 了解有关 Kubernetes 项目和社区总体进展速度的更多信息。
用户亮点
成熟的全球性组织正在大规模在生产环境中使用 Kubernetes。最近发布的社区用户案例包括:
- 网易迁移到 Kubernetes 后,其研发效率提高了 100% 以上,部署效率提高了 280%。
- VSCO 发现,迁移到持续集成、容器化和 Kubernetes 后,速度显著提高。对于典型的服务,从代码完成到在真实基础设施上生产部署的时间从 1-2 周缩短到 2-4 小时。
- NAV 迁移到 Kubernetes 为公司节省了 50% 的基础设施成本,部署频率从每天 10 次增加到每天 50 次,资源利用率从 1% 提高到 40%。
Kubernetes 是否正在帮助您的团队?与社区分享您的故事。
生态系统更新
- Kubernetes 正在 CNCF 下参与 2019 年 GSoC 项目。请在 CNCF 的 GitHub 页面上查看 2019 年完整的项目想法列表。
- CNCF 2018 年度报告回顾了 Kubernetes 和基金会的发展、社区参与、生态系统工具、测试一致性项目、KubeCon 等。
- 在 KubeCon + CloudNativeCon 北美 2018 的 8,000 名参会者中,73% 是首次参加 KubeCon,凸显了 Kubernetes 和云原生技术的巨大增长和新的兴趣。会议透明度报告。
KubeCon
全球最大的 Kubernetes 盛会 KubeCon + CloudNativeCon 将于 2019 年 5 月 20-23 日来到巴塞罗那,并于 2019 年 6 月 24-26 日来到上海(与开源峰会同期举行)。这些会议将包括技术会议、案例研究、开发者深入探讨、沙龙等等!立即注册!
网络研讨会
加入 Kubernetes 1.14 发布团队成员,于太平洋时间 4 月 23 日上午 10 点了解此版本的主要功能。在此注册。
参与其中
参与 Kubernetes 的最简单方式是加入众多与您的兴趣一致的特别兴趣小组 (SIG) 之一。有什么想广播给 Kubernetes 社区的吗?在我们的每周社区会议上以及通过以下渠道表达您的声音。
感谢您的持续反馈和支持。
- 在 Stack Overflow 提问(或回答问题)
- 在 Discuss 参与社区讨论
- 在 Twitter 上关注我们 @Kubernetesio 获取最新动态
- 在 Slack 加入社区
- 分享您的 Kubernetes 故事