Kubernetes 1.14 正式发布,Windows节点生产级支持!

Kubernetes 1.14现已正式发布,这是Kubernetes在2019年的首次更新!git

Kubernetes 1.14由31个加强功能组成:10个功能现进入Stable阶段,12个功能进入Beta测试阶段,还有7个全新新增功能。Kubernetes 1.14的主题是“可扩展性”,相较于此前发布的任何Kubernetes版本,此版本拥有最多的进入Stable阶段的加强功能。github

这次新版的最重大更新无疑为对Windows节点的生产级支持。除此以外还有Kubectl、Persistent Local Volumes、PID限制等等的更新,下文中咱们将逐一道来。数据库

Windows节点的生产级支持安全

随着Kubernetes 1.14的发布,Kubernetes中的Windows节点支持现已处于Beta测试阶段,用户能够更多地进行实验,进一步体验到“Kubernetes for Windows容器”的价值。网络

Kubernetes如今正式支持将Windows节点添加为工做节点,并能够调度Windows容器。庞大的Windows应用程序生态系统,如今也可以利用Kubernetes平台的强大功能了。同时使用Windows应用程序和Linux应用程序的企业,没必要再寻找两种单独的编排方案来分别管理其Windows和Linux工做负载, 整个部署的运营效率都能获得极大提升。app

这次更新,Kubernetes中的Windows容器支持的主要功能包括:分布式

  • 工做节点和容器可使用Windows Server 2019性能

  • 使用Azure-CNI、OVN-Kubernetes和Flannel支持树外网络链接测试

  • 改进了对pod、服务类型、工做负载控制器和指标/配额的支持,以便与Linux容器提供的功能紧密匹配优化

在Kubernetes Windows网络链接方面,目前支持的Azure-CNI、OVN-Kubernetes和Flannel三种网络插件中,Azure-CNI只能在Azure使用,OVN-Kubernetes须要硬件支持,于是大多数用户都会使用Flannel,Flannel也是社区主推的网络插件。Flannel对Windows的支持是Rancher Labs的工程师Frank Mai实现的,他对Windows网络支持的贡献包含两个方面,一个是对CNI的支持,包括win-bridge和win-overlay,以及meta/flannel的支持;另一方面是对Flannel的Windows支持。

Rancher Labs工程师Frank是Windows Flannel网络的主要贡献者

Kubectl 的重要更新

全新的Kubectl文档和Logo

kubectl的文档已经从头开始重写,重点关注于使用声明性Resource Config来管理资源。该文档已以独立书籍格式、做为独立站点发布,其格式为书籍,连接可从k8s.io文档得到:

https://kubectl.docs.kubernetes.io。

同时,kubectl拥有了新的徽标和吉祥物(发音为kubee-cuddle):

Kustomize集成

用户如今能够经过-k标志(例如apply、get等命令)和kustomize子命令,在kubectl中得到kustomize的声明性资源配置建立功能。Kustomize使用Kubernetes原生概念帮助用户建立和重用Resource Config。用户如今可使用kubectl apply -k dir /将目录与kustomization.yaml一块儿应用于集群。 用户还能够直接向stdout发出自定义的资源配置,而无需再经过kubectl kustomize dir /才能应用它们。 新功能均可以在文档中进一步查看:https://kubectl.docs.kubernetes.io

kustomize子命令将继续在Kubernetes所拥有的kustomize repo中开发。最新的kustomize功能将以独立的kustomize二进制文件形式(发布到kustomize repo)、以更频繁的节奏进行发布,并将在每次Kubernetes发布以前在kubectl中更新。

kubectl插件机制逐迈入Stable状态

kubectl插件机制让开发人员能够以独立二进制文件的形式发布本身的自定义kubectl子命令。开发人员可使用新的更高级的功能和额外的porcelain(例如,添加set-ns命令)来进一步扩展kubectl了。

插件必须具备kubectl-名称前缀并存在于用户的$ PATH中。 这次GA,插件机制已经大大简化,而且和git插件系统相似。

Persistent Local Volumes现已GA

Persistent Local Volumes功能现已迈入Stable状态,用户可使用本地链接存储来做为持久卷源。持久化本地存储的最主要用例是分布式文件系统和数据库,主要是因为性能和成本的缘由 。在云提供商上,本地SSD与远程磁盘相比拥有着更好的性能。在裸机上,除了性能以外,本地存储一般也更便宜,而且使用它是配置分布式文件系统的必要条件。

PID限制已迈入Beta阶段

进程ID(PID)是Linux主机上的基本资源。在其余资源还没有达到最大限制值的状况下,大多数用户并不但愿由于达到任务限制而致使主机不稳定。管理员须要一些机制来确保用户pod不会致使PID耗尽,由于PID耗尽会阻止主机守护进程(如runtime、kubelet等)运行。此外,在pod之间限制PID,以确保它们对节点上的其余工做负载不会形成太大影响,这一点是很重要的。

管理员如今能够经过默认每一个pod的PID数量来提供pod-to-pod的PID隔离,这一功能已经是Beat状态。此外,管理员还能够经过可分配的节点为用户pod保留大量可分配的PID,从而将节点到pod的PID隔离做为alpha功能启用。在Kubernetes的下一个新版本中,该功能有望转为Beta版。

其余值得关注的功能更新

Pod优先级与抢占机制:这一功能使Kubernetes调度程序可以首先调度更重要的Pod,当集群资源不足时,它会删除不过重要的pod,以便为更重要的Pod建立空间。Pod的重要性由优先级指定。

Pod Readiness Gates:为pod的准备就绪提供了外部反馈的扩展点。

增强默认的RBAC discovery clusterrolebindings:从API集中移除discovery,如今默认状况下再也不容许进行未经身份验证的访问,从而提升CRD的隐私性以及默认集群的默认安全状态。

下载使用Kubernetes 1.14

Kubernetes 1.14包含的有所功能更新,请查看Release Notes:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md#kubernetes-v114-release-notes

你能够在GitHub上下载使用全新的Kubernetes 1.14:

https://github.com/kubernetes/kubernetes/releases/tag/v1.14.0

Rancher做为一个开源的企业级Kubernetes平台,能够统一管理全部云上、全部发行版、全部Kubernetes集群。优化简洁的UI,简单易用的操做体验,同时还拥有集成的CI/CD、监控、日志、RBAC等等加强功能,是企业落地Kubernetes的不二之选。Rancher将在四月发布的Rancher 2.2.1版本将添加对Kubernetes 1.14的支持,敬请期待!

后续咱们还将分享更多有关Kubernetes 1.14中Windows容器及网络的技术文章,记得保持关注哟

相关文章
相关标签/搜索