AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

评论

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

阿里云大数据架构师推荐学习的Flink入门与实战

做梦都在改BUG

大数据 flink

阿里云何川:计算巢产品规划与生态策略解读

云布道师

计算巢

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理

北京好雨科技有限公司

Kubernetes 云原生 rainbond 企业号 4 月 PK 榜

史上最全499道Java面试题:JVM+分布式+算法+锁+MQ+微服务+数据库

Java你猿哥

Java 架构 算法 JVM 多线程

好用的配置工具yaml | python小知识

AIWeker

Python python小知识 三周年连更

Alibaba微服务线上架构攻略,从实战到源码精讲

程序知音

Java 微服务 SpringCloud java架构 后端技术

同时斩获7大offer的终极原因,全靠这套Java笔记

程序知音

Java 后端 JVM java面试 Java面试八股文

MySQL 主键自增也有坑?

江南一点雨

MySQL

聊聊实例化需求

老张

需求分析 实例化需求

【Linux】之如何卸载干净zabbix服务?(超详细)

A-刘晨阳

Linux zabbix 三周年连更

600+ 道 Java面试题及答案整理(建议收藏)

Java你猿哥

Java spring 分布式 mybatis 多线程

抛弃丑陋的try-catch,优雅处理异常

Java你猿哥

Java SSM框架 异常处理 try-catch

云原生2.0网关API标准发展趋势

华为云开发者联盟

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

好用的eval | python小知识

AIWeker

Python python小知识 三周年连更

原生开发能不能动态化?移动端动态能力建设的流派有哪些?

没有用户名丶

【重磅】针对小微企业信息安全,行云管家堡垒机隆重推出免费版

行云管家

云计算 企业上云 安全运维 运维安全

selenium源码通读·9 |webdriver/common/desired_capabilities.py-DesiredCapabilities类分析

Python 测试 自动化测试 源码剖析 selenium

MySQL中,当update修改数据与原数据相同时会再次执行吗?

Java你猿哥

Java MySQL SSM框架 update

工作两年才真正搞懂Spring的核心概念:spring基础框架及技术生态

Java你猿哥

Java spring Spring Boot spring框架 Spring核心

《一时重构一时爽,一直重构一直爽》

后台技术汇

代码重构 软件重构 三周年连更

Mybatis 通过接口实现 sql 执行原理解析

做梦都在改BUG

Java mybatis SQL执行

综合清理优化工具:MacCleaner PRO激活版

真大的脸盆

Mac Mac 软件 清理工具 系统清理 优化软件

再获殊荣!华为云GaussDB喜提“科技进步一等奖”

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

详解HTTP Keep-Alive选项说明及注意事项

阿泽🧸

keep-alive 三周年连更

最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发

Java你猿哥

Java spring JVM 多线程 myssql

景区共享电动车厂家如何找?投放前景如何

共享电单车厂家

共享电动车厂家 景区共享电单车 共享电单车投放 共享电单车生产

Qz学算法-数据结构篇(引入)

浅辄

数据结构 三周年连更

105道Java面试题,认真思考对你面试很有价值

Java你猿哥

Java spring 面试题 java面试 Java面经

关于Java微服务的打包问题

Java你猿哥

Java 微服务 SSM框架

2023年,人工智能和数据训练呈现哪些新趋势?

澳鹏Appen

人工智能 机器学习 数据标注

迪斯克分投趣模式挖矿分红dapp系统开发功能详情

开发v-hkkf5566

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