2018-07-02 23:11:22 +08:00
# Kubernetes1.11更新日志
2018年6月27日, Kubernetes1.11版本发布, 这也是Kubernetes在2018年度的第二个大版本。该版本最大的变化是增强了集群内负载均衡, CoreDNS毕业成为GA版本, 作为Kubernetes内置默认DNS服务。
该版本的主要亮点集中在网络层面, SIG-API Machinery和SIG-Node的两项主要功能成为beta版本, 同时进一步增强存储功能。利用该版本, 用户将能够更轻松地将任意基础设施——无论云平台还是内部环境——接入Kubernetes当中。
本版本最值得关注的是增加了两项备受期待的功能, 分别为: 基于IPVS的集群内负载均衡, 以及将CoreDNS作为集群DNS的附加选项——这意味着生产应用的可扩展性与灵活性都将得到提升。
可以称得上是亮点的功能有:
## 基于IPVS的集群内服务负载均衡正式上线
IPVS( 即IP虚拟服务器) 能够提供高性能内核负载均衡功能, 且其编程接口较iptables更为简单, 且网络吞吐量更上一层楼、提供更低的编程延迟, 但是仍然不是默认配置, 需要自己配置打开。
## CoreDNS正式上线
CoreDNS之前一直是作为Kuberentes的一个插件独立开发, Kubernetes中最早使用的是名为KubeDNS的DNS组件, CoreDNS是一套灵活且可扩展的权威DNS服务器, 可直接与Kubernetes API相集成。相较于原有DNS服务器, CoreDNS的移动部件更少——仅包含单一可执行文件与单一进程, 且允许用户通过创建自定义DNS条目以支持更为灵活的用例。其同样使用Go语言编写而成, 因此天然具备更理想的安全性水平。
## 动态Kubelet配置进入Beta阶段
通过这项改进, 用户可以将新的Kubelet配置部署在运行中的集群之内。此前, Kubelet需要通过命令行标记进行配置, 这导致我们很难对运行中的集群进行Kubelet配置更新。在此次beta功能的帮助下, [用户将能够通过API Server随时配置集群中运行中的Kubelet](https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/)。
## 自定义资源定义( CRD) 现在可定义多个版本
CRD不再局限于对单一版本的定制化资源作出定义。如今, 利用[此项](https://github.com/kubernetes/features/issues/544)beta测试功能, 用户可以为资源定义多个版本。未来, 其还将进一步扩展以支持版本间自动转换功能。目前, 该功能允许定制化资源作者“以安全变更的方式实现版本升级, 例如由`v1beta1`切换至`v1`“,并为发生变化的资源创建迁移路径。
## 存储增强
主要是增强了CSI, 1.11版本为CSI带来了对原始数据块分卷的alph支持能力, 将CSI与新的kubelet插件注册机制相集成, 同时降低了向CSI插件传递秘密凭证的难度。支持对持久分卷进行[在线大小调整](https://github.com/kubernetes/features/issues/284)( alpha版本) 。这意味着用户能够增加持久分卷的大小, 而完全无需终止pod并卸载对应分卷。用户可以更新VPC以提交新的分卷大小请求, kubelet则负责完成文件系统的大小调整。
## 参考
2019-04-24 14:30:18 +08:00
- [Kubernetes 1.11: In-Cluster Load Balancing and CoreDNS Plugin Graduate to General Availability ](https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement/ )