作者| 禅鸣、忠源、天元、进超、元毅
业界要闻
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 方案主要解决了现有方案所面临的下列问题:
- 安全问题:现有的 JWTs(JSON Web Tokens)无法做到与受众进行绑定。这就会有伪装和冒充的风险;
- 安全问题:现有的方案是将 token 以 secret 的方式发到节点上,这就导致如果一个组件有查看其他组件 service account 的权利,那么这个组件就拥有了和他所能查看的组件一样的权利;
- 安全问题:目前的 JWTs 没有过期时间;
- 可拓展性问题:目前的方案需要制定一个 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 的请求的完整生命周期。
[](https://mp.weixin.qq.com/s/UIZWuqtB5MjknHxv_5pGfg)
《Kubernetes #Fails》
为了了解 Kubernetes 目前在企业中的使用情况和未来趋势,作者采访了来自 22 家 IT 公司的员工,总结出了他们在工作遭遇的各种“K8s 失败案例“背后的原因。
[](https://dzone.com/articles/kubernetes-fails)
《初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3》
这个系列是介绍如何用云原生技术来构建、测试、部署、和管理应用的内容专辑。做这个系列的初衷是为了推广云原生应用管理的最佳实践,以及传播开源标准和知识。在这个系列文章的开篇《初探云原生应用管理(一): Helm 与 App Hub》中,我们介绍了如何用 Helm 来快速部署 K8s 应用。本篇文章将跟你聊聊,为什么要尽快转向 Helm V3。
《Kubernetes 上的 Service Mesh 实践:用 EnvoyFilter 扩展 Istio》
EnvoyFilter 是 Istio 中自定义的一种网络资源对象,用来更新配置 Envoy 中的 filter,为服务网格控制面提供了强大的扩展能力。[](https://www.servicemesher.com/blog/using-envoyfilter-extend-istio/)
《使用 spring boot+kubernetes 构建完整微服务平台》
本文简述基于 kubernetes 的微服务平台建设思路及技术选型。[](https://www.servicemesher.com/blog/201909-build-full-micro-service-platform-by-spring-boot-with-kubernetes/)
《服务网格 Kuma 爬过了 K8S 这座大山》
2019 年 9 月 10 日,Kong 正式宣布开源一款 Service Mesh:Kuma。此消息一出,立即在云原生社区引起反响,各大媒体争相报道。让我们跟随 SDxCentral 的总编辑,一起来看看 Kong 的 CTO 如何介绍 Kuma 这款 Service Mesh 产品以及对于 SMI 的看法。关于 Kuma 的具体功能介绍可以阅读官网博客以及 Github。
阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。