Kubernetes v1.16 发布 | 云原生生态周报 Vol. 20
作者:心贵、进超、元毅、心水、衷源、洗兵
业界要闻
Kubernetes v1.16 发布
在这次发布中值×××和 Feature:
- CRD 正式进入 GA 阶段;
- Admission Webhook 正式进入 GA 阶段;
- CSI 和 Volume 的一系列增强和修复。
蚂蚁金服开源 ElasticDL 项目
9 月 11 日,蚂蚁金服在 2019 Google 开发者大会上海站上开源了 ElasticDL 项目,这是业界首个基于 TensorFlow 实现弹性深度学习的开源系统。ElasticDL 实现了容错和弹性调度的分布式深度学习,可以极大提升集群的总体利用率,同时显著减少用户提交作业之后等待作业启动的时间(pending time)。
Oracle 宣布永久免费一部分云计算 service
Oracle CEO Larry Ellison 在 OpenWorld 大会上宣布推出了 Oracle Cloud Free Tier ,大小型公司和组织、开发人员、学生和教育工作者都可以构建、学习和探索 Oracle 自治数据库和 Oracle 云基础架构的全部功能。
这次推出的 Oracle Cloud Free Tier(免费套餐计划)共有两个组成部分,分别是免费试用计划和永久性免费云服务。
上游重要进展
Kubernetes 项目
- 修复 API Server 访问 Webhook 流量不均衡问题。
在集群规模或者 QPS 比较高的集群内,建议 Port 这个修复以避免 Webhook 单点工作引起性能瓶颈: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
- KEP:降低 API Server 对于 Watch 事件序列化的开销。
目前在一个大规模集群下的 API Server,有太多的 CPU 时间片和资源被用于序列化和反序列化,为了进一步提高集群性能和吞吐,我们应该想办法优化序列化和反序列化的问题。 https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190329-less-object-serializations.md
Knative 项目
- 讨论 Knative 发布原则
- 设定最小 K8s 支持版本;
- 只支持最近4个 Knative 版本;
- 在宣布过时后,knative beta api 版本最少支持 9 个月,GA 版本最少支持 12 个月。对于 v1alpha1 当做 beta 版本;
- Runtime 和 API 需要通过最近四个版本的兼容性测试。
- Dead-Letter Channel Design
针对死信队列的设计,预计在 Eventing v0.10.0 版本中发布。
- Update on Performance Task Force
Eventing 性能测试,进行了吞吐量的基线测试,即不使用 broker 或者 channel 下的数据指标。下一步会进行基于broker 或者 channel 的吞吐量测试。
开源项目推荐
eng-practices
Google 关于 codeview 的指导文档。很早就对 Google 良好的 codeview 文化有所耳闻,作为工程师,我们都应该学习 codeview 文化以达到更好的和同事协作。(中文版参考:https://jimmysong.io/eng-practices/)
argo-cd
用户体验非常棒的基于 Kuberntetes 的 gitops CI/CD 系统 -- argo-cd。
ElasticDL
蚂蚁金服开源基于 TensorFlow 的弹性分布式深度学习系统 ElasticDL。
本周阅读推荐
《进击的 Java - 云原生的蜕变》
云原生时代的来临,与 Java 开发者到底有什么联系?有人说,云原生压根不是为了 Java 存在的。然而,本文的作者却认为云原生时代,Java 依然可以胜任"巨人"的角色。作者希望通过一系列实验,开拓同学视野,提供有益思考。
《PaaS 和 KaaS 有什么区别?什么时候重要?》
PaaS 和 KaaS 提供了许多类似的功能,所以很容易将平台作为服务与 Kubernetes 作为服务系统混淆,但是它们本质上是不同的,如果你选择了错误的选项,这可能会产生严重的影响。在这个网络研讨会上,Mirantis 的 Nick Chase 解释了两者之间的区别,以及如何为你的特定用例选择更好的方法。
《Kubernetes 身份认证和授权操作全攻略:访问控制之 Service Account》
深入探讨访问控制中的 service account。
《Kubernetes 持续崛起的背后:安全问题仍在,生命周期存疑》
为了更好地理解容器与 Kubernetes 的安全与采用趋势,文章整合了来自安全、DevOps 以及产品团队的近 400 位成员调查结果,希望了解各类组织如何采用容器技术、目前面临的安全问题以及进一步发展的具体见解。
《使用 Django,Prometheus,和 Kubernetes 定制应用指标》
文章强调了应用程序定制指标的重要性,用代码实例演示了如何设计指标并整合 Prometheus 到 Django 项目中,为使用 Django 构建应用的开发者提供了参考。
《构建 Kubernetes 集群 -- 选择工作节点数量和大小》
文章从多个维度阐述了使用更少的大节点与更多的小节点来组建 Kubernetes 集群各自的优势与劣势,并结合实践经验给出了选择工作节点数量和大小的一般方法。
阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。