云原生生态周报 Vol. 19:Helm 推荐用户转向 V3

前言

《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第十九期云原生生态周报的内容。

业界要闻

Helm 官方推荐用户迁移到 V3 版本

Helm 官方发布 博客 ,指导用户从 v2 迁移到 v3,这标志着官方开始正式推进 helm 从 v2 转向 v3。我们也更加推荐终端用户使用 helm v3,之前我们曾在文章《初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3》深入探讨过如何用 Helm 来快速部署 K8s 应用以及为什么要尽快转向 Helm V3。

CNCF 公布 2020 年 KubeCon 时间表

CNCF 最近公布了其 2020 年 KubeCon + CloudNativeCon 的 时间表

欧洲:2020 年 3 月 30 日至 4 月 2 日,阿姆斯特丹

中国:2020 年 7 月 28 至 30 日,上海

北美:2020 年 11 月 17 至 20 日,波士顿

最近一场,北美地区 KubeCon + CloudNativeCon 将在 11 月 18 日至 21 日在圣地亚哥举行。

Contour v0.15 发布

Contour (Heptio 开源项目,提供 Envoy 作为 Kubernetes 项目的 Ingress Controller) 的早期版本中,改进了拆分部署模型,以确保 Envoy 和 Contour 之间的通信。 现在,通过我们的最新版本 Contour v0.15, Contour v0.15 主要新增了 leader 选举和配置文件化。

谷歌发布 Cloud Dataproc on K8s

谷歌宣布其托管的 Spark 和 Hadoop 发行版:Cloud Dataproc 可在 Kubernetes 上运行。此外,Cloud Dataproc on Kubernetes 提供了谷歌所说的“自愈合环境”;在这个环境中,基础设施管理任务都实现了自动化,比如集群的选型和搭建、Docker 文件处理和网络配置。

上游重要进展

Kubernetes 项目

1、KEP: Kustomize FieldSpec skip

目前 kustomize 会帮助用户渲染其资源的默认值,但是这些默认值可能不是用户想要的,或者用户根本就不想要渲染默认值,这个 kep 是为了解决这个问题。

2、KEP: kustomize reorder plugin

为 kustomize build 命令提供一个排序插件,使其生成的资源按照一定的逻辑进行排序。计划支持两种新的排序方式一种是提供给 kubectl apply 使用,另一种提供给 kubectl delete 使用。

3、KEP:add retroactive Bound Service Account token

新的 service account token 方案主要解决了现有方案所面临的下列问题:

1). 安全问题:现有的 JWTs(JSON Web Tokens)无法做到与受众进行绑定。这就会有伪装和冒充的风险;

2). 安全问题:现有的方案是将 token 以 secret 的方式发到节点上,这就导致如果一个组件有查看其他组件 service account 的权利,那么这个组件就拥有了和他所能查看的组件一样的权利;

3). 安全问题:目前的 JWTs 没有过期时间;

4). 可拓展性问题:目前的方案需要制定一个 secret 对应一个 service account。

4、KEP: StorageVersion API for HA master

在滚动升级 master 的过程中,可能因为新老 master 使用的不同版本的存储,从而在数据迁移的过程中产生脏数据。该 KEP 提出 StorageVersion 来解决这个问题,所有的 master 可以等待 StorageVersion 完全一致之后,再对数据进行迁移。

5、bugfxi: kubectl cp now safely allows unpacking of symlinks that may point outside the destination directory

6、bugfix: Fix a bug in apiserver that could cause a valid update request to be rejected with a precondition check failure

Knative

  • Dead-Letter Channel Design :如果在事件发送到 Serving revision 的时候,由于 revision 服务异常情况下,事件发送失败,这个时候可以定义一个 Dead-Letter Channel(可以理解为异常处理 Channel), 然后把异常的事件都统一发送到这个 Channel 中。类似 IBM MQ 中的死信队列。

  • Eventing operator: 社区计划开发 Eventing operator,开始广纳贤士,有兴趣的可以加入 Operator 工作组

开源项目推荐

Maesh 项目

一个新开源的 Service Mesh,主要用于管理集群内部流量。Maesh 属于非侵入性的服务网格,不使用 Sidecar Container,而是通过每个节点上的 agent 来处理路由。Announcing Maesh, a Lightweight and Simpler Service Mesh Made by the Traefik Team。

kube-prompt 项目

一个交互式的 kubectl,使用这个开源工具可以免于每条命令都输入 kubectl。

Kuma 项目

Service Mesh 通用数据平面,由 Kong 开源。

本周阅读推荐

Serverless 与容器决战在即?有了弹性伸缩就不一样了

Serverless 和 Autoscaling 是近些年来广大开发者非常关心的内容。有人说 Serverless 是容器 2.0,终有一天容器会和 Serverless 进行一场决战,分出胜负。实际上,容器和 Serverless 是可以共存并且互补的,特别是在 Autoscaling 相关的场景下,Serverless 可以与容器完美兼容,弥补容器场景在使用简单、速度、成本的缺欠,在本文中将会为大家介绍容器在弹性场景下的原理、方案与挑战,以及 Serverless 是如何帮助容器解决这些问题的。

深度解读:输入 kubectl run 后,到底发生了什么?

为了确保整体的简单性和易上手,有时 Kubernetes 会通过一些简单的抽象隐去操作背后的复杂逻辑,但作为一名有梦想的工程师,掌握其背后的真正思路是十分有必要的。本文以 Kubectl 创建 Pod 为例,向你揭露从客户端到 Kubelet 的请求的完整生命周期。

Kubernetes #Fails

为了了解 Kubernetes 目前在企业中的使用情况和未来趋势,作者采访了来自 22 家 IT 公司的员工,总结出了他们在工作遭遇的各种“K8s 失败案例“背后的原因。

初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3

这个系列是介绍如何用云原生技术来构建、测试、部署、和管理应用的内容专辑。做这个系列的初衷是为了推广云原生应用管理的最佳实践,以及传播开源标准和知识。在这个系列文章的开篇《 初探云原生应用管理(一): Helm 与 App Hub 》中,我们介绍了如何用 Helm 来快速部署 K8s 应用。本篇文章将跟你聊聊,为什么要尽快转向 Helm V3。

Kubernetes 上的 Service Mesh 实践:用 EnvoyFilter 扩展 Istio

EnvoyFilter 是 Istio 中自定义的一种网络资源对象,用来更新配置 Envoy 中的 filter,为服务网格控制面提供了强大的扩展能力。

使用 spring boot+kubernetes 构建完整微服务平台

本文简述基于 kubernetes 的微服务平台建设思路及技术选型。

服务网格 Kuma 爬过了 K8S 这座大山

2019 年 9 月 10 日,Kong 正式宣布开源一款 Service Mesh:Kuma。此消息一出,立即在云原生社区引起反响,各大媒体争相报道。让我们跟随 SDxCentral 的总编辑,一起来看看 Kong 的 CTO 如何介绍 Kuma 这款 Service Mesh 产品以及对于 SMI 的看法。关于 Kuma 的具体功能介绍可以阅读 官网博客 以及 Github