赶在Google云端产品用户大会之前,Kubernetes也释出了1.2新版。超过680位开源开发者参与。新版最大特色是扩充能力大幅提高了400%,单个集群可管理1000个节点,运行30000个Pods。
主要变更(相对于v1.1.1):
Dynimic Configuration功能(动态配置,通过核心API中的ConfigMap API实现)。它使得应用配置可以作为Kubernetes API对象存储起来,在容器启动时从APIServer动态获取,可以替代通过命令行传入参数的方式。
TurnKey Deployments(通过Extensions API中的Deploy API实现,目前仍是Beta版)。预先声明以后,它可以实现应用部署和滚动升级的自动化,包括版本管理、多个副本同步升级、多Pod状态搜集和管理、管理应用的应用可用性管理和版本回滚。
在同一个云平台上实现跨区扩展。一个Service下的Pod会自动扩展到其它可用区,从而做到跨区容错。
简化One-Pod-Per-Node应用的部署管理(通过Extensions API中的DaemonSet API实现)。Kubernetes的调度机制能够保证一个应用每个节点上运行同样的Pod,并且只运行一个,比如logging agent。
支持TLS和7层网络(通过Extensions API中的ingress API实现,目前为Beta版)。基于TLS和基于HTTP的七层网络路由,Kubernetes可以更方便地集成到传统的网络环境中。
支持Graceful Node Shutdown(及Node Drain)。新增的“kubelet drain”命令可以很优雅地将pod从某些节点驱逐出去,从而为节点维护做准备(比如升级kernel。支持自定义Autoscaling的指标(通过Autoscaling API中的HorizontalPodAutoscaler API实现)。
Horizontal Pod Autoscaling支持自定义模版(目前为Alpha版),允许用户指定应用级别的指标和应用自动伸缩的阈值。
新的控制台(dashboard)具备与kubelet commandline类似的功能,允许用户通过一种新方式与kubernetes集群交互。