Kubernetes发布1.14版,正式支持Windows容器

红帽推出最新版的Kubernetes 1.14,而这也是2019年的第一个版本,重点放在可扩展性,其增加了在Windows节点上执行容器的支持,并有数个功能转为稳定可用版本,还有一个安全功能进入Beta测试阶段。

Kubernetes对Windows节点的支持历经一段测试时间后,终于在这个版本稳定可用于生产阶段。用户可以使用Kubernetes来管理运行在Windows上的容器,并能够将Windows节点加入工作节点(Worker Node)或是调度Windows容器,而Windows庞大生态系统统的应用程序,现在也能够布署在Kubernetes平台上。企业的Windows以及Linux应用程序,可使用相同的调度工具管理工作负载,提升整体运营效率。

最新Kubernetes版本支持Windows Server 2019的工作节点以及容器,也支持Azure-CNI、OVN-Kubernetes以及Flannel的树状外网络链接,并且改进了对Pod、服务类型、工作负载控制器以及指标等Linux容器相似的功能。

除了Kubernetes开始正式支持Windows容器外,kubectl的插件机制也进入稳定阶段,相较于测试版本,kubectl插件机制大幅简化,现在的形式类似git插件系统。 kubectl插件机制可以让开发人员以独立的二进制文件形式,发布自定义的kubectl子命令,这将有助于扩展kubectl的高端功能。这些插件必须有kubectl作为名称前缀,并存在于用户$PATH中。

开发团队也强化了Kustomize集成性,提供用户Kustomize声明性资源配置(Resource Config)编写功能,可以通过在kubectl中以旗标或是子命令激活。 Kustomize可以让用户定制化Kubernetes的YAML配置,其使用Kubernetes原生概念,帮助用户编写以及重复使用资源配置。而为此,官方也重新改写了kubectl文件,向用户强调使用声明性资源配置来管理资源。

持久性本地端磁盘(Persistent Local Volumes)功能现在也转为稳定版本,这让本地端附加磁盘可以用做持久性本机磁盘。官方提到,因为性能和成本的原因,分布式文件系统和数据库为持久性本地端存储的主要使用场景,对于使用云计算服务来说,本地端SSD可以比远程磁盘获得更好的性能,而在裸机上,除了性能之外,本地端存储通常更为便宜。

Process IDs(PIDs)限制功能在这版本进入Beta测试。 PIDs是Linux主机的基础资源,管理员通常需要应用一些机制,以确保用户Pod不会因用完PIDs,而导致Runtime和kubelet主机守护行程执行受阻碍,但另一方面也要限制PIDs,以避免对节点上的工作负载造成影响。现在管理员可以默认每个Pod的PIDs数量以提供Pod对Pod的PID隔离。

除此之外,这次更新还改进了Pod的优先等级以及抢占功能,Kubernetes调度器可以优先调度重要的Pod,在集群资源不足的时候,调度器会优先删除不重要的Pod,为重要的Pod提供执行资源。官方提到,Kubernetes 1.14比起之前的版本,有更多的功能进入稳定阶段,而这对于用户来说,代表着Kubernetes进入重要的支持里程碑。