写点什么

Kubernetes 1.6 官方发布:支持多用户、多工作负载

  • 2020-03-06
  • 本文字数:3101 字

    阅读完需:约 10 分钟

Kubernetes 1.6 官方发布:支持多用户、多工作负载

今天,我们宣布 Kubernetes1.6 正式发布。在这次版本中,社区的重点落在集群运行规模和集群运行自动化上,可以在帮助实现集群上给多个用户部署多项工作的目标。

Kubernetes 1.6 版本目前集群上支持 5000 个节点。在我们的努力下,Dynamic Storage Provisioning 处于稳定版本。

Role-based access control(RBAC)、kubefed、kubeadm 以及一些调度功能已经开启公测。我们在 1.6 版本中添加了智能默认值,以启用自动化功能即时可用。

新亮点:

Scale 和 Federation:大企业用户目前正在寻找规模性能证明,而 Kubernetes 支持 5000 个节点(150000 个 pod)的 SLO 功能是企业喜闻乐见的。在 CoreOS 发布的 etcd v3 版本的驱动下,集群支持数量总体上有了 150%的增长。这对于搜索、游戏类的公司部署应用程序来说绝对是如虎添翼——他们可以使用的集群规模将更大。


对于用户来说,他们想要进行 5000 个节点以上的扩容,或者是在多区域/云之间进行扩展延伸。这时,Federation 功能就起到了将多个 Kubernetes 集群通过单个 API 端点进行定位的作用。在 1.6 版本中,kubefed 命令行实用程序已经升级到公测版本,更加支持本地集群。 kubefed 现在可以在加入集群时自动配置 kube-dns,并可以将参数传递给联合组件。


Security 和 Setup:关注 Security 的用户会发现,处于公测版的 RBAC 通过对系统组件更紧耦合的默认角色来增加系统的安全性。1.6 版本中默认的 RBAC 策略会授予一定范围的权限给控制组件、node 和 controller。RBAC 允许集群管理员选择性授权用户,或者选择服务账户在每个 namespace 基础上细致访问特定资源。RBAC 用户将 Kubernetes 从 1.5 升级到 1.6 的时候,要注意查看用户指导:https://kubernetes.io//docs/admin/authorization/rbac.md#upgrading-from-15


希望寻找一种简单的在物理机或者云服务器上部署一个安全的 k8s 集群方法的用户,可以尝试使用 kubeadm,它目前在公测阶段。kubeadm 在命令行参数和基本功能上都已经进行了增强,包括 RBAC 设置,Bootstrap Token system 的使用,以及 API 证书。


Advanced Scheduling:这次发布的 1.6 版本添加了一整套强大的调度结构,令用户可以更好地控制 pod 的调度,包括一些规则(能够在异构集群中限制 pods 到特定节点的规则,以及在诸如节点、racks 和区域的故障域上扩展或打包 pod 的规则)。


节点亲和性/反亲和性,目前还在公测阶段,它可以限制 pod 根据节点标签在特定节点上进行调度。使用内置或自定义节点标签来选择特定区域,主机名,硬件体系结构,操作系统版本,专用硬件等。调度规则可以是必需的或优先的,这取决于您希望调度程序如何来强制执行它们。


有个相关的特征,叫做 taints 和 tolerations,可以紧凑地展示从特定节点排除 pod 的规则。 该功能目前也处于公测阶段,可以轻松实现。例如,将一套节点集专用于特定的用户组,或者通过排除不需要硬件的 pod 保留拥有特殊硬件的节点。


有时,你希望协同调度 services 或者 同一个 service 内的 pods,在拓扑上彼此相邻,比如优化南北或东西方的交流方式。 或者你想分散一个 service 的 pods 来达到容错,或者保持对立的 pod 分离,或者确保节点的唯一租用。 Pod 亲和性和反亲和性现在处于公测状态,设定硬性或者软性要求来分散或者打包任意拓扑(node,zone 等等)相关的 pods。


最后,为了最终的调度灵活性,您可以运行自己的自定义调度程序,而不是默认的 Kubernetes 调度程序。 每个调度程序负责不同的 pod 组。 1.6 版本中,Multiple scheduler 特性目前处于公测版。


Dynamic Storage Provisioning:部署有状态应用程序的用户将受益于 1.6 版本中广泛的存储自动化功能。


早期以来,Kubernetes 已经能够根据 pod 规格自动附加和分离存储、格式化磁盘


安装和卸载数据卷,并且 pod 在节点间迁移也能无缝的执行。 此外,PersistentVolumeClaim(PVC)和 PersistentVolume(PV)对象将存储请求从特定的存储实现中解耦出来,使得 pod 规范可以在一系列的云和内部环境中移植。 1.6 版本中,StorageClass 和 dynamic volume provision 被提升到稳定阶段,通过根据需要创建和删除存储来完成自动化,从而无需预先配置。


该设计允许集群管理员在集群中定义和公开多种存储空间,每个集群具有一组自定义参数。 终端用户可以不必担心如何配置存储的复杂性和细微差别,同时仍然从多个存储选项中进行选择。


1.6 Kubernetes 附带一套内置的默认设置,可以完全自动化存储配置生命周期,将您解放出来,能够在应用程序上工作。 具体来说,Kubernetes 默认为 AWS,Azure,GCP,OpenStack 和 VMware vSphere 预安装系统定义的 StorageClass 对象。 这样 Kubernetes 用户就可以在这些提供商上获得动态存储配置,同时无需手动设置 StorageClass 对象。 这是云上 PVC 对象的默认行为发生了变化。请注意,默认行为是通过“删除”(回收策略)来创建动态配置卷的。 这意味着一旦删除了 PVC,动态配置的卷会被自动删除,所以用户没有额外的“清理”步骤。


此外,我们扩大了支持的存储范围,包括:


  • ScaleIO Kubernetes Volume Plugin 使 pod 能够无缝访问和使用存储在 ScaleIO 卷上的数据。

  • Portworx Kubernetes Volume 插件添加了使用 Portworx 作为 Kubernetes 集群的存储提供商的功能。 Portworx 会将您的服务器容量集中在一起,并将您的服务器或云实例转换为融合的、高度可用的计算和存储节点。

  • 使用 COS 节点镜像支持集群上的 NFSv3,NFSv4 和 GlusterFS

  • 支持用户编写/运行的动态 PV provisioners。 查看 Golang library 和例子可访问这里:http://github.com/kubernetes-incubator/external-storage

  • PV 中,公测支持 mount options


容器 Runtime Interface,etcd v3 和 Daemon set 更新:尽管用户不能直接与容器 runtime 或 API 服务器数据存储区进行交互,但是它们是 Kubernetes 中面向用户的功能的基础组件。 因此,社区投资扩大这些和其他系统组件的能力。


  • Docker-CRI 实现的是公测版,默认情况下在 kubelet 中启用。 runtime,cri-o,frakti,rkt 的内测版本也已经开启。

  • API 服务器的默认后端存储已经升级为默认情况下使用 etcd v3 进行新群集。 如果要从 1.5 集群升级,则应注意通过规划数据迁移窗口来确保连续性。

  • 节点的可靠性得到改善,随着 Kubelet 公开了一个管理可配置的节点分配特征来为系统 Daemon Set 预留计算资源。

  • Daemon set 更新可让您在它上执行滚动更新。


Alpha Features:此版本主要集中在成熟的功能,但是,添加了几个内测版功能也在 RoadMap 中。


  • Out-of-tree cloud provider 支持添加了一个新的 cloud-controller-manager 二进制文件,可用于测试新的核心云提供商流程

  • 节点问题与 tolerationSeconds 相结合的情况下,每播放一次,让用户调整一个 pod 保持绑定到遇到问题的节点的持续时间

  • Pod Injection Policy 添加了一个新的 API 资源 PodPreset,用于在创建时将诸如 secrets、数据卷、卷挂载和环境变量等信息注入到 pod 中。

  • Horizontal Pod Autoscaler 中的自定义参数支持已更改为使用多个 Nvidia GPU 支持,并且只有在 Docker 运行时才引入。


这些只是我们今年第一次发布的一些亮点。 有关完整列表,请访问发行说明:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md#v160

社区

此次 1.6 的发布,要感谢我们的开源社区。 以及,我们已经推出了大约 275 位贡献者的近 5000 项提交。 为了使我们的众多倡导者聚集在一起,社区已经推出了一个名为 K8sPort(http://k8sport.org/)的新计划,它是一个在线中心,社区可以参与游戏化挑战并获得信誉。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/Qs1xzFJbyRjthArU3KlZ-A


2020-03-06 20:46544

评论

发布
暂无评论
发现更多内容

设计模式第六讲:责任链模式和迭代器模式详解

C++后台开发

设计模式 责任链模式 迭代器模式 后端开发 Linux服务器开发

软件测试/测试开发 | web自动化测试-PageObject 设计模式

测试人

软件测试 自动化测试 测试开发 Web自动化测试

0源码基础学习Spring源码系列(二)——Spring如何解决循环依赖

京东科技开发者

spring 源码 初始化 二级缓存 企业号 2 月 PK 榜

令人期待的 SysOM 2.0 OS 迁移、超异构计算系统直播又来了 | 第 63-64 期

OpenAnolis小助手

操作系统 系统运维 sig 龙蜥大讲堂 SysOM

JS常见错误和解决方法集锦

观纵科技

前端 js 错误处理

新型掩码自编码器 AdaMAE,自适应采样

Zilliz

计算机视觉

Blender的布局和工作区

Finovy Cloud

Blende

为什么大多数团队推行自动化测试最后却不了了之?

Liam

测试 自动化测试 测试自动化

Bytebase 体验官之勇闯新手村

朱亚光

轻舟已过万重山:华为之路,平板PC之变

脑极体

华为 PC

低代码如何快速提升客户体验

力软低代码开发平台

进击中的 Zebec 生态,Web2 与 Web3 世界的连接器

股市老人

IoT设备数据业务价值洞察实践——实践类

阿里云AIoT

阿里云 物联网 IoT

企业降本增效的催化剂:敏捷迭代

FinFish

敏捷开发 敏捷迭代 敏捷项目管理

ChatGPT时代的打工人众生相

脑极体

ChatGPT

海泰方圆受邀参加中关村网信联盟会议并斩获三项殊荣

电子信息发烧客

rust入坑指南之ownership

京东科技开发者

rust JVM 内存 企业号 2 月 PK 榜 ownership

软件测试 | 常用模拟器使用

测吧(北京)科技有限公司

测试

CNCF社区首个!KubeEdge达到软件供应链SLSA L3等级

华为云开发者联盟

云原生 华为云 企业号 2 月 PK 榜 华为云开发者联盟

IoT设备数据的存储、解析和价值挖掘实践——实践类

阿里云AIoT

阿里云 物联网 IoT

比Worktile好用的项目管理软件有哪些?

爱吃小舅的鱼

项目管理 Worktile 项目管理工具

聊一聊 gRPC 中的拦截器

江南一点雨

gRPC

DR-AP40X9-A-Qualcomm-IPQ4019/IPQ4029-2.4G&5G

Cindy-wallys

IPQ4019 ipq4029

Linux安装elasticsearch-head

Geek_7ubdnf

elasticsearch

云小课|MRS基础操作之配置DataNode容量均衡

华为云开发者联盟

大数据 华为云 企业号 2 月 PK 榜 华为云开发者联盟

最佳实践数据服务之设备数据格式ProtoBuf转JSON——实践类

阿里云AIoT

阿里云 物联网 IoT

Wallys /industrial wifi6 router/ Ipq6010 /ipq6018/ipq6000 2x2 2.4G & 5G

Cindy-wallys

IPQ6010 ipq6018 IPQ6000

一文读懂Guava EventBus(订阅\发布事件)

京东科技开发者

架构 观察者模式 Guava EventBus 企业号 2 月 PK 榜

开心档之Java 流(Stream)、文件(File)和IOJava.io

雪奈椰子

Java 开心档

数字货币现货合约秒合约交易所系统开发案例

开发微hkkf5566

Kubernetes 1.6 官方发布:支持多用户、多工作负载_行业深度_才云科技_InfoQ精选文章