@Rays
2017-07-17T14:13:37.000000Z
字数 2355
阅读 1714
容器
摘要: Kubernetes 1.7已经发布,该版本聚焦于安全、存储和扩展性等交付特性,其中包括Network Policy API、StatefulSets自动升级策略以及可扩展的API聚合层。
作者: Daniel Bryant
正文:
Kubernetes 1.7已经发布,该版本聚焦于安全、存储和扩展性等交付特性,其中包括Network Policy API、StatefulSets自动升级策略以及可扩展的API聚合层。Kubernetes的上一个发布版1.6版侧重于解决规模化和自动化上的问题,显然最新的1.7发布版力图为Kubernetes在企业组织中的进一步采用夯实基础。需注意的是,虽然1.7版的核心集群编排功能是以稳定版提供,但是其中给出的一些头条发布特性在文档中被标为Alpha版或Beta版。
新提供的安全特性包括:Network Policy API。该API当前已提升到稳定版,在实现为网络插件时,用户可以设置并强制使用规则,指定可相互通信的Pod(类似于在用的网络/云ACL);节点授权器(Node Authorizer)和准入控制(Admission Control)插件。它们是在1.7中以Beta版新添加的特性,用于限制kubelet访问那些控制Secret、Pod和其它基于节点对象的Kubernetes API操作;用于Secret的加密和其它存储在etcd的资源,当前以Alpha版提供可用;Kubelet TLS Bootstrapping,当前以Alpha版提供,支持客户和服务证书旋转(Rotation);由API服务器存储的审计日志,现在更改为可定制的和可扩展。
聚焦于存储和有状态工作负载管理的特性包括:StatefulSet Updates。它是在1.7中以Beta版新提供的特性,允许使用一系列的更新策略对有状态应用进行自动更新,包括滚动更新(rolling-update),以及金丝雀(canary)和分阶段(phased)推出部署(rollout);本地持久卷(Local Persistent Volume)。当前以Alpha版发布,允许用户通过标准的PersistentVolumeClaims/PersistentVolume接口及StatefulSets中的StorageClasses访问本地存储卷;DaemonSets。该特性用于确保给定的Pod对每个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷。
在可扩展性方面,1.7中以Beta版的形式添加了API聚合层,允许用户在他们的集群中添加Kubernetes风格的预先构建的、用户定义的或是第三方的API。例如,其中添加了兼容Open Service Broker API的孵化特性service-catalog。与之相关的是,第三方资源(TPR,Third Party Resource)已经替代了用户资源定义(CRD,Custom Resource Definitions)。TPR提供了更整洁的API,并解决了在TPR Beta版期间出现的问题和极端案例。对此,CoreOS发布了一个博客帖子,其中提供了差异的更多细节信息,并给出了一个创建CRD的走查过程。社区已规划在Kubernetes 1.8中移除TPR Beta版特性。容器运行时接口(CRI,Container Runtime Interface)实现从运行时中获取容器的度量指标,它已使用新的RPC调用得以改进。CRI的验证测试已发布,并且与containerd集成的 Alpha版的现已可用,它支持基本的Pod生命周期和镜像管理。在该Kubernetes已发表的博客帖子中,可以了解到CRI的更多信息。
商业版的Google Cloud Platform(GCP)Container Engine(GKE)提供了最新的Kubernetes 1.7发布版,并已进一步提供了开源的Kubernetes发布版与Google各平台间的集成,包括:使用Google Cloud Load Balancing(GCLB)的HTTP重加密,使客户可以在从GCLB到他们的服务后端上使用HTTPS;解决了[对所有私有IP的GA支持]问题(https://cloud.google.com/container-engine/docs/ip-masquerade-agent)(RFC-1918),使用户可以在私有IP范围内创建集群并访问资源;服务可通过内部负载均衡(Internal Load Balancers)暴露,这是以Beta版提供的,允许Kubernetes和非Kubernetes服务在私有网络上相互访问(虽然当前通过Cloud VPN访问内部负载均衡的功能依然处于Alpha版);GKE现在支持在Alpha Clusters中运行NVIDIA K80 GPUs,该特性使得用户可以实验机器学习算法;自动修复,当前是Beta版。它通过对不健康节点进行主动监控,并在无需用户参与的情况下对节点做自动修复,保持了集群的健康运行;一些GCP优化的改进,用于简化集群从底层架构层上做自动扩展。
在Kubernetes博客及GitHub的Kubernetes 1.7发行说明上,提供了关于Kubernetes 1.7发布版的更多信息。
查看英文原文: Kubernetes 1.7 Released with Security Hardening, StatefulSet Updates and Extensibility Features