Kubernetes 1.7:安全加固,有状态应用更新以及扩展性

Tags: 

今天我们发布了 Kubernetes 1.7,这是一个里程碑。目前 Kubernetes 在世界范围内得以大量使用,响应企业的呼声,这一版本在存储、安全以及扩展性方面大为增强。

简单说来,新版本的安全加固措施包含对 secret 的加密、Pod 间的网络策略,用于限制 Kubelet 访问的节点鉴权以及客户端/服务器的 TLS 证书翻转。

针对在 Kubernetes 上运行数据库的用户来说,新版本的一个主要特性就是加入了对 StatefulSet 和 DaemonSet 的自动更新功能。同时还加入了对本地存储以及能够加速 StatefulSet 伸缩过程的爆发模式。

另外对于高级用户来说,这一版本的 API 聚合 (API aggregation) 功能让用户提供的 API 能够和 Kubernetes API 同时工作。还有可扩展的 admission 控制器、插件式的 cloud provider 以及 CRI(容器运行时) 的增强。

新特性:

  • 网络策略 API 升级为稳定版。网络策略使用网络插件的形式实现,让用户可以设置和强化对 Pod 间的通信管理。
  • 无需通过 Pod 管理策略的支持,StatefulSet 能够更快的伸缩和启动——这是一个重要的性能提升。
  • 本地存储(alpha)是有状态应用方面最需要的特性。用户现在可以通过标准的 PVC/PV 界面来访问本地存储卷,在 StatefulSet 中使用 StorageClass。
  • DaemonSet 这种在每个 Node 中运行 Pod 的对象,已经具有了更新功能,在 1.7 中还加入了智能回滚和历史的支持。
  • 新的 StorageOS 卷插件为节点本地或外接存储提供了集群级别的高可用持久卷。

扩展性

  • API aggregation 是这一版本中的最重要扩展功能,让用户能够在自己的集群中加入 Kubernetes 风格的第三方和自开发 API。
  • 容器运行时(CRI)使用新的 RPC 调用来从容器中获得运行时指标。 CRI 验证器 已经发布,并且和 containerd 1.0 进行了 Alpha 阶段的集成,支持了基础的 Pod 生命周期和镜像管理。参考阅读

其他功能

  • 外部 Admission 控制器支持的 Alpha 阶段,提供了两个选项,可以添加自定义业务逻辑到 API Server,用来在对象被创建的时候,进行修改和策略检查。
  • 基于策略的 Federated 资源安置 也进入了 Alpha 阶段,提供了对集群联邦的资源安置策略,策略可以包含规定、价格或者性能等。

弃用

  • 第三方资源(TPR)转为自定义资源定义( Custom Resource Definitions: CRD),提供了更加清晰的 API,并且解决了 TPR 的 Beta 过程中的问题。如果用户已经试用了 TPR,我们鼓励进行迁移,1.9 版本的 Kubernetes 将会移除 TPR。

上述是 1.7 更新的一些节选,更多内容请参阅 Release Note