作者 | 丁海洋  陈有坤 李鹏  孙健波

业界要闻

  1. 阿里巴巴 Kubernetes 技术能力再获 CNCF 认可

CNCF 官网发布博文《Demystifying Kubernetes as a Service – How Alibaba Cloud Manages 10,000s of Kubernetes Clusters》。这篇长文从为什么需要超大数量的 K8s 集群,以及如何高效的管理这些集群出发,系统介绍了 Alibaba 在 Kubernetes 上取得的成绩。

  1. GitHub 欲在中国设立子公司

今年早些时候传出多起 Github 封锁伊朗、叙利亚、克里米亚等地区的 Github 账号,加上目前中美贸易战的大背景,Github 背后的微软需要为很多可能性进行准备。一个问题是:中国子公司真的可以在贸易战白热化的时候帮助微软和中国开发者吗?无论如何,多年来开源运动对当前 IT 技术的贡献大家有目共睹,而 Github(依然)是聚集开发者最好的平台,我想每一个负责任的开发者,无论国籍,都应该好好思考未来可能会如何,做好应对。

上游重要进展

Kubernetes

  • Support external signing of service account keys

目前 K8s apiserver 还是从硬盘读取 service account 的 keys,并在运行时保存在内存中。鉴于现在 apiserver 已经支持验证和发布 projected volume tokens,我们可以考虑开始通过 API 支持外部签发和校验 token。

  • Certificated API 改进

CSR(CertificateSigningRequest)支持多 signer。

Knative

Knative v0.11.0 版本已于 12 月 10 号正式发布,下面两篇文章将对新版本进行解读,让你快速对 v0.11.0 版本有所了解:

  • Knative Serving 0.11.0 版本变更
  • 解读 Knative Eventing v0.11.0 新特性

Istio

Istio1.5 开发中,计划一月中 code freeze , 二月中发布。

  • 备受瞩目的 Mixer v2 正在紧锣密鼓地开发中:其中使用 V8 的 Telemetry v2 预计将在 1.5 版本中达到 alpha 状态;
  • 引入更好的传输安全:Istio 使用 mTLS 在网格内的工作负载之间提供传输安全性。但是目前 Istio 的某些架构选择导致了相当大的实现复杂性、设计混乱和协议冲突。这个 Proposal 指出了一些现有的难题,并探讨可能的解决方案。

其他内容更新:

  • 社区新提出的 Istio meta API ,用于支持 Envoy 协议路由:提供 Envoy 的 Extensions,其中 protocol filter 的作者仅解析 metadata(headers),并作为 attributes 公开给框架;而框架可以完全基于属性来路由流量,无需了解协议。这个提案目前处于非常早期的讨论中;

  • Istio Config API Versioning Design:从 1.11 开始,Kubernetes 支持在 CustomResourceDefinition(CRD)中指定多个版本。 在 1.15 中,对 Conversion Webhook 的支持处于 beta 状态,预计将在 1.16 中稳定。 Istio API 当前只具备单个版本,随着 Istio 的 API 变得越来越成熟,需要为每个 Istio API 支持多个版本。这将使 Istio 在改进 API 的同时仍能支持可能正在使用旧版 API 的用户。

开源项目推荐

  1. ansible/awx

这是 Red Hat 发布的对其内部的 Ansible Tower 系统的开源实现,有兴趣的同学可以去看一下。

  1. oam/admission-controller

一个 Go 语言开发的 K8s Admission Controller 为 OAM 标准 spec 提供转换和校验的功能,该开源项目不仅可以用于 OAM 的 spec 校验,也可以用来学习如何编写一个 K8s Admission Controller。

本周阅读推荐

  1. 《Run Ansible Tower or AWX in Kubernetes or OpenShift with the Tower Operator》

Ansible Tower是Red Hat内部的自动化Ansible平台的核心组件,AWX是Ansible Tower的开源实现,两者的关系类似Fedora和RHEL。这篇文章使用一个Operator来创建和管理试用版的Ansible Tower。

  1. 《Develop a Kubernetes controller in Java》

一篇来自 K8s 官方的 Blog,介绍了如何使用 Kubernetes Java SDK 来开发 Kubernetes Controller。

  1. 《Chaos Engineering: the history, principles and practice》

混沌工程是在大规模复杂系统中寻找问题的最佳实践,这篇文章系统介绍了混沌工程的历史、原则以及实践中需要注意的问题。
https://www.gremlin.com/chaos-engineering/

  1. 《What I learned from Reverse Engineering Windows Containers》

在 Docker 开启容器技术大潮的时候,Windows 是有一点落后的,但不出意外的,微软很快发布了支持 Windows 的容器技术。除了一些官方的文档,关于 Windows container 的技术细节是很少的,本文作者通过 reverse engineering 解析了 Windows 容器在进程、文件调用、系统调用等方面的一些细节,对这方面感兴趣的同事不要错过。

  1. 《Highlights from KubeCon US and Re:Invent 2019 + Live WKP Demo》

Weaveworks 自己总结了一篇 KubeCon US 和 ReInvent: 2019 的一些 highlight,当然也不忘 promote 自己一下,有兴趣的同学可以看看。

  1. 《虚拟化 Pod 性能比裸机还要好,原因竟然是这样!》

VMware 在 VMworld 上宣布的太平洋项目 (Project Pacific)。根据其官博上发布的信息,太平洋项目中通过虚拟化实现的 Native Pods,比物理机(裸机)上 Kubernetes 的 pod 有 8% 的性能提升!这个内容是十分抢眼的,因为不是很符合逻辑。这篇文章解释了这个性能提升的原因,简单的说,就是用好 NUMA。

  1. 《Knative Serverless 之道:如何 0 运维、低成本实现应用托管?》

Knative 作为最流行的应用 Severlesss 编排引擎,其中一个核心能力就是其简洁、高效的应用托管服务。阿里云的工程师在该分享中对此进行了详细的讲解。

“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”