作者:心贵、进超、元毅、心水、衷源、洗兵

业界要闻

Kubernetes v1.16 发布
<https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md>

在这次发布中值得关注的一些特性和 Feature:

* CRD 正式进入 GA 阶段;
* Admission Webhook 正式进入 GA 阶段;
* CSI 和 Volume 的一系列增强和修复。
蚂蚁金服开源 ElasticDL 项目 <https://mp.weixin.qq.com/s/BitZUQ5xyDSpVE2IeZxhqw>

9 月 11 日,蚂蚁金服在 2019 谷歌开发者大会上海站上开源了 ElasticDL 项目,这是业界首个基于 TensorFlow
实现弹性深度学习的开源系统。ElasticDL
实现了容错和弹性调度的分布式深度学习,可以极大提升集群的总体利用率,同时显著减少用户提交作业之后等待作业启动的时间(pending time)。

Oracle 宣布永久免费一部分云计算服务

Oracle CEO Larry Ellison 在 OpenWorld 大会上宣布推出了 Oracle Cloud Free Tier 
<https://www.oracle.com/cloud/free>,大小型公司和组织、开发人员、学生和教育工作者都可以构建、学习和探索 Oracle
自治数据库和 Oracle 云基础架构的全部功能。

这次推出的 Oracle Cloud Free Tier(免费套餐计划)共有两个组成部分,分别是免费试用计划和永久性免费云服务。

上游重要进展

Kubernetes项目

* 修复 API Server 访问 Webhook 流量不均衡问题。
在集群规模或者 QPS 比较高的集群内,建议 Port 这个修复以避免 Webhook 单点工作引起性能瓶颈:
https://github.com/kubernetes/kubernetes/pull/82090
<https://github.com/kubernetes/kubernetes/pull/82090>

* 修复 Pod toleration 引起的 Bug。
修复 Pod toleration 有多个的情况下,引起 comparison & merging 的 Bug。建议 Port 这个修复,以提高调度 Pod
语义的健壮性:https://github.com/kubernetes/kubernetes/pull/81732/files
<https://github.com/kubernetes/kubernetes/pull/81732/files>

* KEP:降低 API Server 对于 Watch 事件序列化的开销。
目前在一个大规模集群下的 API Server,有太多的 CPU
时间片和资源被用于序列化和反序列化,为了进一步提高集群性能和吞吐,我们应该想办法优化序列化和反序列化的问题。
https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190329-less-object-serializations.md

<https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190329-less-object-serializations.md>

Knative项目

* 讨论 Knative 发布原则
<https://docs.google.com/document/d/1GXDe6163lO8ohtLUMPCplbjm3OTpYo_4U8f9K1fgZPo/edit?hl=en#heading=h.n8a530nnrb>
 
* 设定最小 K8s 支持版本;
* 只支持最近4个 Knative 版本;
* 在宣布过时后,knative beta api 版本最少支持 9 个月,GA 版本最少支持 12 个月。对于 v1alpha1 当做 beta 版本;
* Runtime 和 API 需要通过最近四个版本的兼容性测试。
* Dead-Letter Channel Design
<https://docs.google.com/document/d/1qRrzGoHJQO-oc5p-yRK8IRfugd-FM_PXyM7lN5kcqks/edit>
 
针对死信队列的设计,预计在 Eventing v0.10.0 版本中发布。

* Update on Performance Task Force
<https://docs.google.com/document/d/1UgblGknPcIMcOfUc_UImUAyjTGTfZNWXZV1_iPsDntY>
 
Eventing 性能测试,进行了吞吐量的基线测试,即不使用 broker 或者 channel 下的数据指标。下一步会进行基于broker 或者
channel 的吞吐量测试。

开源项目推荐

eng-practices <https://google.github.io/eng-practices/> 

Google 关于 codeview 的指导文档。很早就对 Google 良好的 codeview 文化有所耳闻,作为工程师,我们都应该学习
codeview 文化以达到更好的和同事协作。(中文版参考:https://jimmysong.io/eng-practices/
<https://jimmysong.io/eng-practices/>)

argo-cd <https://github.com/argoproj/argo-cd/>

用户体验非常棒的基于 Kuberntetes 的 gitops CI/CD 系统 -- argo-cd。

ElasticDL <https://github.com/sql-machine-learning/elasticdl>

蚂蚁金服开源基于 TensorFlow 的弹性分布式深度学习系统 ElasticDL。
<https://github.com/sql-machine-learning/elasticdl>

本周阅读推荐

《进击的 Java - 云原生的蜕变》
<http://mp.weixin.qq.com/s?__biz=MzUzNzYxNjAzMg==&mid=100002758&idx=1&sn=fea668be41c5988139b9bf349c46a56c&chksm=7ae500094d92891fb4c7f0efe20c4cd3abbcffa9d7ebeb77e8591ccfeaf35dcba14759883008#rd>
 

云原生时代的来临,与 Java 开发者到底有什么联系?有人说,云原生压根不是为了 Java 存在的。然而,本文的作者却认为云原生时代,Java
依然可以胜任“巨人”的角色。作者希望通过一系列实验,开拓同学视野,提供有益思考。

《PaaS 和 KaaS 有什么区别?什么时候重要?》 <https://mp.weixin.qq.com/s/7iYYHahEg5XBCrCi40YRJw>
 

PaaS 和 KaaS 提供了许多类似的功能,所以很容易将平台作为服务与 Kubernetes
作为服务系统混淆,但是它们本质上是不同的,如果你选择了错误的选项,这可能会产生严重的影响。在这个网络研讨会上,Mirantis 的 Nick Chase
解释了两者之间的区别,以及如何为你的特定用例选择更好的方法。

《Kubernetes 身份认证和授权操作全攻略:访问控制之 Service Account》
<https://mp.weixin.qq.com/s/n1RHYkqWXaIztZ-EmjxV3A> 

深入探讨访问控制中的 service account。

《Kubernetes 持续崛起的背后:安全问题仍在,生命周期存疑》
<https://www.infoq.cn/article/fp8oQtrExTakJzuD1WDQ>

为了更好地理解容器与 Kubernetes 的安全与采用趋势,文章整合了来自安全、DevOps 以及产品团队的近 400
位成员调查结果,希望了解各类组织如何采用容器技术、目前面临的安全问题以及进一步发展的具体见解。

《使用 Django,Prometheus,和 Kubernetes 定制应用指标》
<https://www.servicemesher.com/blog/custom-application-metrics-with-django-prometheus-and-kubernetes/>

文章强调了应用程序定制指标的重要性,用代码实例演示了如何设计指标并整合 Prometheus 到 Django 项目中,为使用 Django
构建应用的开发者提供了参考。

《构建 Kubernetes 集群 —— 选择工作节点数量和大小》
<https://www.servicemesher.com/blog/architecting-kubernetes-clusters-choosing-a-worker-node-size/>

文章从多个维度阐述了使用更少的大节点与更多的小节点来组建 Kubernetes 集群各自的优势与劣势,并结合实践经验给出了选择工作节点数量和大小的一般方法。

阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh
等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。