写点什么

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:46597

评论

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

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

android 程序员 移动开发

35w奖金池,腾讯云TDSQL精英挑战赛等你来战!

腾讯云数据库

数据库 腾讯云 tdsql

【孔乙已】生产者消费者有四样写法,android插件化和组件化

android 程序员 移动开发

【Android面试技巧】当面试官问你glide的时候,android嵌入式开发实战pdf

android 程序员 移动开发

【中级—,android项目驱动式开发教程

android 程序员 移动开发

【Jetpack篇】LiveData取代EventBus,2021年Android知识体系总结

android 程序员 移动开发

直播回顾 | MatrixDB 定义下一代时序架构(内附PPT下载)

YMatrix 超融合数据库

车联网 物联网 时序数据库 MatrixDB 超融合时序数据库

【微信小程序】开发实战 之 ,这份333页关于性能优化知识点的PDF你不能不看

android 程序员 移动开发

9.9元试用无影电脑,开启云上办公娱乐新体验

MSE | 阿里巴巴云原生网关三位一体的选择与实践

阿里巴巴中间件

阿里云 微服务 云原生 中间件 网关

技术面试感觉什么都会,面试官一问回答不上来怎么办?

Java高级开发

面试 性能优化 编程语言 Java 分布式

【Flutter 专题】113 图解自定义 ACEPieWidget 饼状图 (二)

android 程序员 移动开发

【Java转Android】60,androidx86输入法

android 程序员 移动开发

技术创新+开放共赢 华为云GaussDB加速企业数字化转型

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

【原理+实战,android音视频开发何俊林

android 程序员 移动开发

【Flutter 专题】126 图解自定义两侧对齐 ACETabBar 标签导航栏

android 程序员 移动开发

【建议收藏】Android中高级大厂面试源码秘籍,面试题+笔记+项目实战

android 程序员 移动开发

【Java转Android】29,2021最新网易Android面试题目

android 程序员 移动开发

【中级—(1),Android资深架构师分享学习经验及总结

android 程序员 移动开发

【原理+实战(1),fluttertextfield高度

android 程序员 移动开发

【带着问题学】关于LeakCanary2,2021百度Android岗面试真题收录解析

android 程序员 移动开发

【建议收藏】Android中高级大厂面试源码秘籍(1),android开发实战湖南师范大学出版社

android 程序员 移动开发

【Android】金三银四面试集合,android面试题大全

android 程序员 移动开发

【Android面试】热修复,赶紧收藏备战金三银四

android 程序员 移动开发

【Android高级架构师系统学习文章】Android基础-Activity全方位解析

android 程序员 移动开发

【最强】Android 项目集成 Flutter 实战分享,精通android游戏开发

android 程序员 移动开发

喜报!百度获国家技术发明奖

百度大脑

人工智能 百度

百度智能云天工获评2021世界物联网新技术新产品新应用成果金奖

百度大脑

人工智能 百度

【从入门到实用】android启动优化深入解析,安卓系列学习进阶视频

android 程序员 移动开发

【绝对干货】超全Android中高级面试复习大纲,安卓面试题目2019

android 程序员 移动开发

【自学Flutter】4,安卓移动开发基础案例教程

android 程序员 移动开发

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