【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

评论

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

设计千万级学生管理系统的考试试卷存储方案

deng

架构实战营

外包学生管理系统设计文档

波波

「架构实战营」

架构实现训练营|第 8 课|作业

Frode

Apache Pulsar与Apache Kafka在性能、应用、生态等全方位对比

五分钟学大数据

11月日更

【高并发】深度解析线程池中那些重要的顶层接口和抽象类

冰河

Java 并发编程 多线程 高并发 异步编程

性能测试之问题与思考

刘冉

软件测试 性能测试 软件自动化测试

Android C++系列:JNI调用时的异常处理

轻口味

c++ android jni 11月日更

#低码系列#低代码来了,程序员会失业吗?

布鲁

低代码开发 低代码平台

聊聊开源精神

baiyutang

11月日更

今年双 11,阿里业务 100% 上云,云原生有哪些技术亮点?

阿里巴巴云原生

阿里云 技术 云原生 双11

如何用20分钟就能获得同款企业级全链路灰度能力?

阿里巴巴云原生

阿里云 微服务 云原生 MSE

Vue进阶(幺柒捌):延伸阅读Sass、Scss、Less与Stylus编程特性

No Silver Bullet

CSS Vue 11月日更

一个基于web服务器的PoW案例(二)

Regan Yue

区块链 11月日更 趣讲区块链

架构训练营 - 模块 3 作业

焦龙

架构实战营

【LeetCode】检测大写字母Java题解

Albert

算法 LeetCode 11月日更

【Promise 源码学习】第六篇 - 实现 Promise 的链式调用

Brave

源码 Promise 11月日更

今天参加了“2021全球架构师峰会”...

后台技术汇

11月日更 全球架构师峰会

自动化测试之框架分类与思考

刘冉

软件测试 自动化测试

quarkus接触研究个人总结

weir威尔

架构 微服务架构 istio Service Mesh 服务网格 Quarkus

学生管理系统详细架构文档练习

御道而行

架构实战营

Prometheus HTTP API 查询(七)管理员接口

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

软件测试新趋势-2018

刘冉

软件测试 软件自动化测试

CRM User Status profile中Business Transaction字段的用途

Jerry Wang

CRM SAP 订单 11月日更

进击的Java(五)

ES_her0

11月日更

Flink SQL 扩展维表 Keyby 的三种实现方式

大数据技术指南

11月日更

了解一下OpenVINO的API

IT蜗壳-Tango

11月日更

架构实战营-模块四

瓜子葫芦侠

「架构实战营」

测试策略实践之移动应用的测试策略与测试架构

刘冉

软件测试 软件自动化测试 移动测试

ALB Ingress 发布!轻松应对云原生应用流量管理

阿里巴巴云原生

阿里云 容器 云原生 ALB

【Flutter 专题】09 图解页面小跳转 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

.NET6新东西--Random.Shared

喵叔

11月日更

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