云原生生态周报 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 的时间表:

  1. 欧洲:2020 年 3 月 30 日至 4 月 2 日,阿姆斯特丹
  2. 中国:2020 年 7 月 28 至 30 日,上海
  3. 北美: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 选举和配置文件化。云原生生态周报 Vol. 19 | Helm 推荐用户转向 V3

谷歌发布 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。

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

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