BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

Kubernetes 1.5发布,改进了StatefulSet,增加了对Windows Server 2016的alpha支持

| 作者 Daniel Bryant ,译者 王纯超 发布于 2017年1月4日. 估计阅读时间: 不到一分钟 | 顶尖技术领导者的管理实战经验分享,尽在GTLC!

Cloud Native Computing Foundation(CNCF)发布了Kubernetes容器编排和调度系统的1.5版。其核心改进之处在于提供了与带状态应用的部署和扩展以及不中断应用的情况下执行集群操作相关的beta功能。它也提供了对可插拔容器运行时、Windows Server 2016节点以及Windows Server容器调度的alpha支持。由于配置存在潜在安全问题,建议所有用户跳过1.5.0版,改为使用具有更安全的默认配置的1.5.1版。

Kubernetes的初始1.5版主要关注标记为“alpha”和“beta”的交付:

  • StatefulSet(之前叫“PetSet”)功能提升为beta,进一步支持Kubernetes上持久标识和每实例存储的创建和管理;
  • PodDisruptionBudget也提升为beta,可用于确保完成应用程序服务级别目标(SLO)的同时安全地排除节点;
  • 在alpha中发布了改进的联合支持,包括一个新命令“kubefed”
  • 通过进一步改进kubeadm命令简化了集群的部署;
  • 高可用的主节点的alpha支持;
    • 这一功能通过使用“kube-up”和“kube-down”脚本复制Kubernetes主节点实现,现在只有Google Compute Engine (GCE)具有该功能。
  • Windows Server 2016节点的alpha支持和对Windows Server容器以及Hyper-V容器调度的alpha支持;
  • 在alpha中引入了Container Runtime Initiative(CRI) API,这样就能支持可插拔的容器运行时;
    • 一个实验性的Docker-CRI集成插件已准备测试和获取反馈;
    • cri-o是Kubernetes容器运行时接口的一个基于OCI的实现。该接口使用了runc。cri-o也可用了,但是当前被标记为“预览测试版”;
    • Kelsey Hightower是一位Google Staff Advocate,在Kubernetes社区无人不晓。他在GitHub上发布了开源工程cri-o Tutorial,献给那些渴望试用这项功能的开发人员;
  • 对访问Kubelet API的验证和授权能力;
  • dashboard界面现在显示所有用户面向的对象以及它们的资源使用情况。

在12月12号发布Kubernetes的初始1.5.0版之后,在谷歌Kubernetes声明小组内进行的一场讨论,强调了几处配置选项的改动可能导致潜在的安全问题,这些配置在单独使用时没有问题,但是合在一起就会导致集群不安全。为了解决这一问题,Kubernetes的1.5.1版第二天就发布了。建议所有用户跳过1.5.0版,改为使用具有更安全的默认配置的1.5.1版。本文接下来介绍添加到最初的1.5.0版本的新功能。

beta阶段的StatefulSet(之前叫“PetSet”)支持Kubernetes上持久标识和每实例存储的创建扩展删除修复。该功能做了几点关键的安全性提升。为了确保绝不会有pod具有相同标识,Kubernetes节点控制器不再自动“强制删除”无响应节点上的pod,而是等待下列三个条件之一成立:Kubelet确认老的pod被结束了;集群管理员删除了对应的节点;集群管理员通过命令行接口“强制删除”了pod。有一份升级指南帮助操作员从PetSet升级到StatefulSet。

beta阶段的PodDisruptionBudget是一个API对象,它指定了一个pod集合任何时候可用时副本的最少数目或最小比例。根据Kubernetesd的发布说明,通过使用PodDisruptionBudget,应用部署人员能够确保完成组织的服务级目标(SLO),通过保证自愿清除pod的集群操作绝不会同时清除过多的pod以致数据丢失、宕机或者“不可接受的服务降级”。

alpha版的Kubefed是一个新的命令行工具,辅助联合集群的管理、降低部署新的联合控制面板的难度以及从现有联合集群中添加或者移除集群。集群联合方面还为ConfigMapsDaemonSets以及部署联合API新加了alpha版的API功能,因此可以从单一端点创建、更新和删除跨多个集群的对象。

Windows server容器 containers为Windows Server 2016节点和Windows Server容器 Containers以及Hyper-V容器 Containers的调度提供了初步支持。该功能的实现是由Apprenda领衔多厂商联袂打造的,其中谷歌、小红帽和微软作出了卓越的贡献。在1.5版本中,Kubernetes控制面板(API服务器、调度器、控制器管理器等等)继续运行在Linux上,而kubelet和 and kube-proxy可以在Windows Server上运行。网络通信功能是使用L3路由实现的。但是依据Kubernetes文档,当前第三方网络插件(例如,flannel、calico等等)无法直接在Windows Server上运行,因此为了提供核心的网络通信功能,依赖了Windows和Linux内置的现成技术。

Kubernetes的 1.5版可以从GitHub和get.k8s.io上下载。在Kubernetes博客上可以找到本次发布的额外信息。

查看英文原文: Kubernetes 1.5 Released with Improved StatefulSets and Alpha Support for Windows Server 2016


感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT