NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

别无分号只此一家,Python3接入支付宝身份认证接口( alipay.user.certify)体系(2021年最新攻略)

刘悦的技术博客

Python 支付宝 身份认证 刷脸 实名认证

企业架构培训感悟

Man

企业架构 中台战略

技术干货丨隐私保护下的迁移算法

华为云开发者联盟

迁移

Kubernetes 疑难问题排查 - 10s 延迟

东风微鸣

Kubernetes

在NGINX中根据用户真实IP限制访问

东风微鸣

在线自习室场景爆发,在线教育平台用户时间争夺战打响

ZEGO即构

应用案例| 基于Volcano 的锐天大规模离线高性能计算生产实践

华为云原生团队

云计算 大数据 AI 云原生 批量计算

详解 Flink 容器化环境下的 OOM Killed

Apache Flink

flink 流计算

区块链:能源行业出现破坏性创新的基础?

CECBC

区块链 能源

1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录【淘宝-天猫超市、京东】

谙忆

飞天茅台 茅台

腾讯大佬直言:只要掌握了这份“Redis实战笔记”就掌握了云计算的未来!

比伯

Java 编程 架构 面试 程序人生

LeetCode题解:104. 二叉树的最大深度,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

CSS04 - 常用外观属性

Mr.Cactus

html/css

Java内存模型精讲

伯阳

Java 后端 多线程 多线程与高并发 Java内存模型

uni-app实现实时消息SDK插件

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

低代码和零代码快速开发崛起,迎来普通人开发软件的时代!

J2PaaS低代码平台

区块链推动电力能源管理新一轮技术变革

CECBC

区块链

Spring 事务,你真的用对了吗(下篇)?

废材姑娘

Java Spring Framework

大作业一

Geek_83908e

架构师一期

RocketMQ如何保证消息顺序性

废材姑娘

RocketMQ

一文教你学会Hive视图和索引

大数据老哥

大数据 hadoop hive

抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题

楼下小黑哥

支付系统 架构设计

低成本构建音视频质量监控平台的最佳路径

华为云开发者联盟

数据中台 数据湖 云原生 RTC 华为云

云算力系统APP开发|云算力软件开发

系统开发

微服务可能失败的11个原因

xcbeyond

微服务 方法论

CSS01 - 引入方式

Mr.Cactus

html/css

CSS02 - 选择器

Mr.Cactus

html/css

Ansible 新手指南 - 如何批量管理 NGINX

东风微鸣

ansible

<译文>NGINX 实战手册 - 控制访问

东风微鸣

面向行业智能,华为数据通信推动的2020之变

脑极体

CSS03 - 常用字体样式

Mr.Cactus

html/css

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