云原生生态周报 Vol. 17 | Helm 3 发布首个 beta 版本

简介: 业界要闻 Helm 3 第一个 beta 版本 v3.0.0-beta.1 发布,该版本的重点是完成最后的修改和重构,以及移植其他 Helm 2 特性。https://github.com/helm/helm/releases cilium 1.6 版本发布,完成了最后的两个核心需求,宣布已经可以 100% 替换 kube-proxy。

业界要闻

  1. Helm 3 第一个 beta 版本 v3.0.0-beta.1 发布,该版本的重点是完成最后的修改和重构,以及移植其他 Helm 2 特性。https://github.com/helm/helm/releases
  2. cilium 1.6 版本发布,完成了最后的两个核心需求,宣布已经可以 100% 替换 kube-proxy。https://cilium.io/blog/2019/08/20/cilium-16/.cilium 是一个基于 eBPF 实现的可用于提供容器网络连接和负载均衡的组件,不依赖 K-V store,以下是 cilium 的性能测试结果。

image.png

3 pivotal 开源了镜像构建和更新的 controller - kpack。https://github.com/pivotal/kpack

上游重要进展

Kubernetes 项目

1 apiserver 对 observed requests 进行更细致的分类, 对 requests 增加优先级。目前 apiserver 有比较简单的机制去防止过载,例如用 max-in-flight 去限制 mutating 和 readonly 的请求,但是除了这两类请求外,还有一些其他类型的请求可以去做不同的限制。这个 KEP 希望把 apiserver 收到的 request 按优先级等级进行分类,每个 request 分配到它对应的 concurrency pool,这样不同优先级的请求就可以做到不同的请求上限限制。作者在 KEP 里列举了一些目前在 1.16 中观察到的 requests

2 为 HA master 增加 StorageVersion API。HA master 在 roling upgrade 时,每一个 apiserver 可能会用不同的 storage version 去 encode resource。如果集群中有 storage version migrator,则会错误导致 storage migrator 升级 resource storage version 到不同的版本。增加了一个 StorageVersion API 在这种场景下会告诉 migrator,当前 HA 集群对 storage version 未达成一致,migrator 会阻塞 migrate 的进行。

3 scheduling framework:为 kubernetes scheduler 设计的插件式的架构,让调度特性以插件的形式加入 scheduler(将在 1.17 进行 beta)。https://github.com/kubernetes/enhancements/issues/624 (KEP 比较早)。随着调度特性越来越多,scheduler 的代码越来越庞大,维护日益复杂,同时定制 scheduler 的开销也比较大。于是社区希望将 scheduler 做成一个 scheduling framework 的架构,让其他的调度特性以插件形式注册到 scheduler,对调度器的拓展也更加灵活。

image.png

4 其他更新

etcd 项目

  1. mvcc: 调整默认的 compact batch 为 1000,compact batch interval 为 10ms。compact batch 影响 compact 的速度,过大的 compact batch 会导致 put/range 的性能下降,过小的 compact batch 又 compact 不了太多的 key。在集团内部,我们把这两个参数设置为可变,不同的集群根据 qps 进行压测调节到最优参数。
  2. raft:允许 learner 在特殊情况下进行投票。存在这样的场景:集群 id=1 是 learner,id=2 是 voter,id=3 是 voter,然后通过客户端将 learner promote 成 voter,但是因为网络分区等原因,消息还没传到 learner,但是此时 id=2 的 voter 挂了,那么 id=3 voter 则直接获得了选举胜利。实际上此时 learner 已经 promote 成 voter 了,还需要 id=1 的 voter 进行投票。该 PR 修复了这个场景,允许 learner 收到投票,当 learner 收到投票时,表明其他 quorum 将自己视为一个 voter 了。

knative项目

  1. serving和eventing在功能和稳定性相对平稳后,开始进入性能优化阶段,开始进行benchmark,包括

  2. eventing 将 channel和subscriptions 转移到 messaging.knative.dev API Group。表明Channel 和 Subscription 的概念是消息的路由而不是事件的转发,涉及到如何迁移现存业务,改动较大。

开源项目推荐

  1. microk8s,体积小,运行速度快,single-package 的 k8s 版本,适合用于做 k8s 的离线开发,IOT 和边缘设备。
    https://github.com/ubuntu/microk8s
    microk8s 紧跟上游 k8s 的 feature,刚刚 release 了 1.16-beta,同时它包含了主流 k8s 生态的其他工具,包括 serverless(knative),service mesh(istio),monitoring(prometheus,grafana),machine learning(kubeflow)
  2. qlkube,Kubernetes 的 GraphQL API,允许你使用 graphql 与 Kubernetes api 进行交互。
    https://github.com/qlkube/qlkube?utm_sq=g5n76aa1mt
    GraphQL 是Facebook2015年开源的数据查询规范。对于现在大多数的 RESTful API,都存在以下场景,client 需要向 server 发若干个请求才能获得所需要查询的内容。GraphQL 则希望让 API 数据间以图的形式,有关联和层次结构进行组织。
    qlkube 是利用 kubernetes 的 openapi/swagger api specification 自动生成的 GranphQL 接口。
  3. kube-fzf,利用 kubectl 和 fzf 搭建的支持模糊搜索的命令行工具。
    https://github.com/thecasualcoder/kube-fzf
    fzf (fuzzy finder)是一个非常丰富的命令行模糊搜索器,而 kube-fzf 把两个命令行工具结合,减少了 kubernetes 日常运维时敲的大量 kubectl get po xxx -n xxxxx 的命令复杂度。目前支持搜索 pod,tail pod container,describe pod,exec into a pod,port forward pod。

本周阅读推荐

1.The State of State in Cloud Native Applications..在云原生应用中,有状态应用的状态处理和发展过程以及未来走向。
2.How Kubernetes Could Orchestrate Machine Learning Pipelines. 在过去几年,Apache YARN 和 Mesos 往往是 data science 类型的 job(尤其是 machine learning)首选的资源调度器,而随着 Kubernetes 在社区的火爆,在 Kubernetes 上允许 big data 或 analytics job 的用户越来越多。文章介绍了如何使用 kubeflow pipeline 进行 ML 训练,以及 MLOps 的设计。
3.Kubernetes Web UIs in 2019. 社区有非常多 kubernetes Web UI 的项目,作者提出他自己对 kubernetes UI 的期望,并对所有开源项目做了一个总结。
4.深度解读Helm 3: 犹抱琵琶半遮面。自去年年初开始放风Helm v3将要开始开发,就被一堆人追问到底啥时候发版本。Helm v3 在五月发布了第一个alpha版本,如今发布了beta版本,本文是一篇旧文解读 Helm v3 aplha,但是绝对是一篇有助于理解 Helm V3的好文章。
5.Knative Eventing 之 Choice 介绍,从 Knative Eventing 0.8 开始,支持根据不同的过滤条件对事件进行选择处理。通过 Choice 提供了这样的能力。本文旨在介绍一下Choice特性。
6.Service Mesh发展趋势(续):棋到中盘路往何方: 继续探讨ServiceMesh发展趋势,以灵魂拷问的方式深度分析Istio的重大革新Mixer v2,Envoy支持Web Assembly的意义所在; 深入介绍Google Traffic Director对虚拟机模式的创新支持方式,以及最近围绕SMI发生的故事。

名词解释:KEP - Kubernetes Enhancement Proposal, 即 Kubernetes 上游设计文档

--
本周报由阿里巴巴容器平台联合蚂蚁金服共同发布

本周作者:墨封,衷源

责任编辑:木环

--
本周报由阿里巴巴容器平台联合蚂蚁金服共同发布
本周作者:墨封,衷源,熬小剑
责任编辑:木环

--
云原生生态周报 Vol. 14 | K8s CVE 修复指南
云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告
云原生生态周报 Vol. 12 | K8s 1.16 API 重大变更
云原生生态周报 Vol. 11 | K8s 1.16 早知道
云原生生态周报 Vol. 10 | 数据库能否运行在 K8s 当中?
云原生生态周报 Vol. 9 | K8s 1.15 后的性能提升
云原生生态周报 Vol. 8 | Gartner 发布云原生趋势
云原生生态周报 Vol. 7 | Docker 再爆 CVE
云原生生态周报 Vol. 6 | KubeCon EU 特刊

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
4月前
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
|
3月前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
6月前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
130 5
|
6月前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库AnalyticDB产品使用合集之 orcale的行转列函数wm_concat 在pg版本有对应的相关函数吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
消息中间件 监控 Cloud Native
阿里云云原生生态强调事件驱动架构(EDA),借助EventBridge和EventMesh实现微服务间的高效协作。
【7月更文挑战第3天】阿里云云原生生态强调事件驱动架构(EDA),借助EventBridge和EventMesh实现微服务间的高效协作。EDA提升系统弹性和可维护性,促进业务敏捷性。实施路径包括事件模型设计、集成阿里云服务、开发事件处理器和监控优化。通过阿里云服务,开发者能轻松构建响应式、可扩展的云原生应用,加速创新并驱动数字化转型。
102 0
|
6月前
|
运维 Kubernetes Cloud Native
Canonical 开源 MicroK8 | 云原生生态周报 Vol. 25
Canonical 开源 MicroK8 | 云原生生态周报 Vol. 25
|
7月前
|
消息中间件 监控 Cloud Native
【阿里云云原生专栏】事件驱动架构在阿里云云原生生态中的角色与实施路径
【5月更文挑战第23天】本文探讨了事件驱动架构在阿里云云原生生态中的关键作用,强调其在微服务协同和应用创新中的效率提升。阿里云提供了EventBridge和EventMesh等服务支持EDA,其中EventBridge作为事件中枢,实现跨平台事件传递,而EventMesh提供高性能事件处理。通过事件模型设计、服务集成、开发处理器和监控优化四个步骤,用户可在阿里云上实施事件驱动架构,构建敏捷响应的云原生应用。随着云原生技术发展,EDA将成为企业数字化转型的重要推动力。
124 0
|
18天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
16天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
26天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
40 3
下一篇
DataWorks