作者|陈俊、张晓宇、徐迪
业界要闻
1.KubeCon 2019 北美会议召开
业界最隆重的盛会 KubeCon+CloudNativeCon 今年在圣地亚哥举办,超过 12000 名参会者以及 100 多个云原生供应商出席了这次大会。本次大会中阿里巴巴经济体共有 8 个 Topic 亮相。
上游重要进展
1.Kubernetes 拟加入对 Cgroup v2 的支持
Kubernetes 的 Kubelet 和 Scheduler 拟加入对 Cgroup v2 的支持。 Cgroup v2 的一个大的特性是可以用非 root 用户操作做资源限制。该 KEP 的实现和下文的 《使用非 root 权限模式运行 Kubernetes 组件》KEP 息息相关。
2.使用非 root 权限模式运行 Kubernetes 组件
目前有众多的厂商尝试使用非 root 的模式去运行 kubelet 组件和 CRI/OCI/CNI,但是因为一些接口需要使用 root 的权限不能实现。此 KEP 着重去改善 kubelet、kube-proxy 对于这方面的限制,同时 CRI/OCI/CNI 也有相关的工作去推进可以使用非 root 模式运行。
3.提供 Immutable 模式的 ConfigMap/Secret(s)
建议使用 Immutable 的 ConfigMap/Secret 有两个原因:
- 一是 Pod 使用 ConfigMap/Secret 的模式一般是通过 Volume Mounts 的方式,而 Kubelet 会通过 Watch/Poll 的方式去获取 ConfigMap/Secret 更新,同时同步更新到 Pod 的挂载文件,这种 Pod 能够快速、无感地获取到 ConfigMap/Secret 更新。但这种更新是一把双刃剑,一次错误的更新 ConfigMap/Secret 可能会导致 Pod 加载错误配置从而导致所有 Pod 异常。我们更推荐使用 Rolling Update 的方式,创建一个新的 ConfigMap/Secret 同时创建新的 Pod 去引用新的 ConfigMap/Secret。
- 第二个是在大规模集群内,Kubelet 过多的 Watch/Poll 大量的 ConfigMap/Secret 会给 API Server 造成巨大的压力(尽管我们在这个 PR 中为每个 Watch 请求降低了一个 Goruntine 的消耗)。 而使用了 Immutable 的 ConfigMap/Secret,Kubelet 就不会为他们建立 Watch/Poll 请求。
开源项目推荐
使用 CRD 的模式在 Kubernetes 集群内管理证书的签发和 CA Issuer。cert-manager 的一个较大的优势是支持 Kubernetes 集群内多 Issuer 的存在。
相比 Kubernetes 的 Daemonset,它提供了金丝雀发布以及更加丰富的升级策略。
基于水位线算法的 Pod AutoScaler,相比 HPA,它提供更加丰富的算法、同时能控制 Scale 的速率和策略。
本周阅读推荐
单一的公有云、私有云提供了很强的计算能力,计算所需要的数据则由边缘云搜集并传输到公有云、私有云。将边缘云、公有云、私有云,无论是管理面还是数据层面打通,是未来混合云发展的趋势。
拓扑感知服务路由可以实现 Service 就近转发,减少网络延时,进一步提升 K8s 的网络性能,此特性将于 K8s v1.17 发布 Alpha,时间是 12 月上旬,让我们一起期待吧!
3.《Debugging network stalls on Kubernetes》
Kubernetes 已经成为 Github 管理资源和应用的平台,而 Github 的 Kubernetes 随着集群规模的增大,也遇到了头疼的 Service 的网络问题。该文 Github 为我们很好的提供了当集群内的 Service “网络不可用”时,我们该如何调试和找到问题根源。
随着以 K8s 为主的云原生基础架构遍地生根,越来越多的团队开始基于 K8s 搭建持续部署、自助式发布体验的应用管理平台。然而,在 K8s 交付和管理应用方面,目前还缺乏一个统一的标准,这最终促使我们与微软联合推出了首个云原生应用标准定义与架构模型 - OAM。本文作者将从基本概念以及各个模块的封装设计与用法等角度出发来详细解读 OAM。
2019 年,整个 IT 领域发生了许多深刻而又复杂的变化,本文作者希望能够根据本篇文章给读者清晰地梳理出架构领域技术这一年的发展变化,回顾过去,继续前行。
“阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”