本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。

Kubernetes 1.7:安全强化、有状态应用更新和可扩展性

本文由 Aparna Sinha 和 Ihor Dvoretskyi 代表 Kubernetes 1.7 发布团队撰写。

今天我们宣布发布 Kubernetes 1.7,这是一个里程碑式的版本,它增加了安全性、存储和可扩展性功能,这些功能是受 Kubernetes 在最苛刻的企业环境中广泛生产使用的驱动。

一目了然,此版本中的安全增强功能包括加密密钥、用于 Pod 间通信的网络策略、限制 kubelet 访问的节点授权器以及客户端/服务器 TLS 证书轮换。

对于那些在 Kubernetes 上运行横向扩展数据库的用户,此版本有一个主要功能,即为 StatefulSet 增加自动化更新并增强 DaemonSet 的更新。我们还宣布了对本地存储的 Alpha 支持以及用于更快扩展 StatefulSet 的突发模式。

此外,对于高级用户,此版本中的 API 聚合允许用户提供的 apiserver 与 Kubernetes API 的其余部分在运行时一起提供服务。其他亮点包括支持可扩展的准入控制器、可插拔的云提供商以及容器运行时接口(CRI)增强功能。

新增功能
安全

  • 网络策略 API 已升级为稳定版。网络策略通过网络插件实现,允许用户设置和执行规则,以管理哪些 Pod 可以相互通信。
  • 节点授权器和准入控制插件是新增功能,它们根据 kubelet 的节点限制其对密钥、Pod 和其他对象的访问。
  • etcd 中 Secrets 和其他资源的加密现已提供 Alpha 版本。
  • Kubelet TLS 引导现在支持客户端和服务器证书轮换。
  • API 服务器存储的审计日志现在具有事件过滤和 Webhook 支持,更具可定制性和可扩展性。它们还为系统审计提供了更丰富的数据。

有状态工作负载

  • StatefulSet 更新是 1.7 中的一项新的 Beta 功能,它允许使用包括滚动更新在内的一系列更新策略,自动更新 Kafka、Zookeeper 和 etcd 等有状态应用程序。
  • StatefulSet 现在还通过Pod 管理策略支持更快地扩展和启动不需要排序的应用程序。这可以带来重大的性能改进。
  • 本地存储(Alpha)是针对有状态应用程序最常请求的功能之一。用户现在可以通过标准 PVC/PV 接口和 StatefulSet 中的 StorageClasses 访问本地存储卷。
  • DaemonSet 会为每个节点创建一个 Pod,它已经具有更新功能,并在 1.7 中增加了智能的回滚和历史功能。
  • 新的StorageOS 卷插件提供了来自本地或连接的节点存储的高可用集群范围持久卷。

可扩展性

其他功能

  • 引入了对外部准入控制器的 Alpha 支持,提供了两种选择,用于向 API 服务器添加自定义业务逻辑,以在创建对象时修改对象并验证策略。
  • 作为 Alpha 版本引入了基于策略的联邦资源放置,它根据法规、定价或性能等自定义要求,为联邦集群提供放置策略。

弃用:

  • 第三方资源(TPR)已被自定义资源定义(CRD)取代,CRD 提供了更清晰的 API,并解决了在 TPR Beta 期间出现的问题和边缘情况。如果您使用 TPR Beta 功能,建议您迁移,因为它计划在 Kubernetes 1.8 中被社区移除。

以上是 Kubernetes 1.7 功能亮点的一个子集。有关完整列表,请访问发布说明

采用情况
此版本得益于我们庞大而开放的社区。三年内,我们总共已经提交了超过 50,000 次提交,这仅仅是在 Kubernetes 主仓库中。Kubernetes 的其他扩展功能在相关仓库中贡献,为项目带来了整体稳定性。这种速度使 Kubernetes 成为有史以来增长最快的开源项目之一。

Kubernetes 的采用来自世界各地的各个领域。社区最近的用户故事包括:

  • GolfNow(NBC 体育集团的成员)将其应用程序迁移到 Kubernetes,从而提高了资源利用率,并将其基础设施成本削减了一半
  • 视频基础设施解决方案提供商 Bitmovin 向我们展示了他们如何使用 Kubernetes 在云端和本地进行多阶段金丝雀部署
  • 全球最大的在线超市 Ocado 使用 Kubernetes 为其智能仓库创建分布式数据中心。在此处阅读他们的完整设置:此处
  • Kubernetes 对您的团队有帮助吗?与社区分享您的故事。查看我们不断增长的用户案例研究资源,并向 Box 等在其组织中采用 Kubernetes 的优秀公司学习。

衷心感谢由 Google 的 Dawn Chen 领导的 Kubernetes 1.7 发布团队

可用性
Kubernetes 1.7 可在 GitHub 上下载。要开始使用 Kubernetes,请尝试这些交互式教程之一。

参与其中
12 月 6-8 日在奥斯汀参加 CloudNativeCon + KubeCon,加入有史以来最大的 Kubernetes 聚会。演讲提交截止日期为 8 月 21 日,折扣注册截止日期为 10 月 6 日。

最简单的参与方式是加入与您兴趣相符的众多特别兴趣小组(SIG)。有什么想向 Kubernetes 社区宣传的吗?在我们的每周社区会议和这些渠道中表达您的声音

衷心感谢我们广大的贡献者和支持者社区,使此版本和所有版本成为可能。