Kubernetes1.12已于今日全新发布!Kubelet证书轮换、资源配额优先级、挂载命名空间、对Azure的加强支持等10大亮点功能,本文为你一一解读!node
Kubernetes 1.12已于今日全新发布。距离上一次1.11版本发布三个月之隔,Kubernetes 1.12是今年的第三个主要版本。自从Kubernetes在2015年GA以后,它一直保持着每季度一次的更新频率。git
2018年Kubernetes的几回主版本更新github
不管您是使用Kubernetes的开发人员,仍是负责操做集群的管理员,都应该了解一下Kubernetes 1.12中的新功能和问题修复。web
Kubernetes 1.12中包含38项功能。咱们来看看一些亮点。bootstrap
https://github.com/kubernetes...后端
Kubelet证书轮换服务器
Kubelet证书轮换功能现已进入beta状态。这一功能能够在当前证书到期时自动续订密钥和kubelet API服务器的证书。在官方1.12文档发布以前,您能够在此处阅读有关此功能的测试版文档:网络
https://github.com/kubernetes...app
网络策略:CIDR选择器和egress规则dom
有两个之前的beta功能如今已经是stable状态:其中一个是ipBlock选择器,它容许根据CIDR表示法中的网络地址指定ingress/egress规则。第二个则能够经过指定egress规则来过滤离开pod的流量。如下示例说明了这两个功能的使用:
egress和ipBlock之前都是beta功能,它们已经在Kubernetes官方的网络策略文档中了:
https://kubernetes.io/docs/co...
挂载命名空间传播
挂载命名空间传播,即挂载卷 rshared ,从而容器内的任何挂载都能反映在root(= host)挂载命名空间中,这一功能现已经是stable状态。您能够在Kubernetes卷文档中阅读有关此功能的更多信息:
https://kubernetes.io/docs/co...
按条件建立Taint Nodes
在Kubernetes1.8中,这一功能仍是早期alpha版本,如今此功能已升级为beta。启用它的featureflag,节点控制器能够根据节点条件建立taints,并使调度器根据taints而不是条件来过滤节点。官方文档在此:
https://kubernetes.io/docs/co...
具备自定义指标的水平pod自动伸缩器
虽然HPA中对自定义指标的支持一直是beta状态,但1.12版增长了各类加强功能,例如能够根据监控管道中的可用标签选择指标。若是您对基于Prometheus、Sysdig或Datadog等监控系统提供的应用程序级指标自动调整pod感兴趣,我建议您查看 HPA中外部指标的设计方案:
https://github.com/kubernetes...
RuntimeClass
RuntimeClass是一个新的集群范围的资源,“它将容器运行时属性表示到控制平面”。换言之,它可让用户经过提供PodSpec中的runtimeClass,选择和配置(每一个pod)特定容器运行时(如Docker、RKT或Virtlet)。这一功能还处于早期alpha阶段,更多信息能够参阅此处:
https://github.com/kubernetes...
资源配额优先级
资源配额让管理员能够限制命名空间中的资源消耗。这一功能在多个租户(用户/团队)共享集群中的可用计算和存储资源时尤为实用。beta版的资源配额优先级容许管理员根据pod的PriorityClass,肯定配额范围,从而调整命名空间内的资源分配。你能够在这里了解更多细节:
https://kubernetes.io/docs/co...
卷快照
Kubernetes 1.12中最使人的兴奋的存储功能之一,是持久性卷快照(尽管它还在alpha阶段)。此功能容许用户在任何CSI存储提供商支持的特定时间点建立和恢复快照。这次更新添加了三个新的API资源做为此功能的一部分:
下面是示例:
详细信息可查看Github 上的1.12 文档分支:
https://github.com/kubernetes...
拓扑感知动态配置
另外一个与存储相关的功能,拓扑感知动态配置。这一功能在Kubernetes 1.11中初次引入,并在1.12中被提高为beta状态。它解决了在跨多个区域的集群中动态配置卷的一些限制,其中单区存储后端没法从全部节点全局访问。
对Azure的加强支持
在Kubernetes 1.12中,有两项关于在Azure中运行Kubernetes的加强:
Azure 的集群自动伸缩器支持已升级为稳定版。这将容许基于全局资源,自动扩展Kubernetes集群中的Azure节点数。
Kubernetes 1.12添加了Azure可用区(AZ)的alpha支持。可用区域中的节点将添加标签 failure-domain.beta.kubernetes.io/zone=<region>-<AZ> ,并为Azure托管磁盘存储类添加拓扑感知配置。
更 多
Kubernetes 1.12包含许多bug修复和内部组件的改进,这次Kubernetes的更新明显侧重于稳定核心以及使现有的beta功能成熟。还有就是经过向项目CI管道添加更多自动化测试来提升发布速度,包括为项目测试工具添加了arm、arm6四、ppc6四、s390x和Windows平台的CI e2e一致性测试。
关于Kubernetes 1.12的完整变化列表,固然是来阅读发布说明啦:
https://github.com/kubernetes...
Rancher做为一个开源的企业级Kubernetes管理平台,能够统一纳管全部云上、全部发行版、全部Kubernetes集群,解决了生产环境中企业用户可能面临的基础设施不一样的困境。同时,Rancher简洁直观的界面风格及操做体验,将大大改善Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。
对于公有云提供商托管的Kubernetes集群,只要特定的提供商支持,Rancher就会支持托管集群上支持Kubernetes 1.12。而对于使用RKE(Rancher Kubernetes Engine)配置的集群,将从Rancher 2.2开始支持。