作者 | 徐迪、陈俊、敖小剑、宋进超
业界要闻
作为 Flink 社区迄今为止规模最大的一次版本升级,Flink 1.10 容纳了超过 200 位贡献者对超过 1200 个 issue 的开发实现,包含对 Flink 作业的整体性能及稳定性的显著优化、对原生 Kubernetes 的初步集成(beta 版本)以及对 Python 支持(PyFlink)的重大优化。
此版本以安全为主题,主要更新亮点包括增加了将 Linkerd 的交叉 TLS 基础与外部证书发行商(如 Vault、cert-manager)集成的支持,改进了 GitOps 工作流,并使其易于自动轮换 TLS 凭据;还改进了 dashboard 的性能,提高了 Helm 图表的可用性。
上游重要进展
Kubernets
- 1.18 分支本周二正式创建了,code freeze 在 3 月 5 号;
- graduate PodTopologySpread to beta
feature gate PodTopologySpread 升级到 beta 版本。
引入了新的 token issuer,符合 OIDC(OpenID Connect) 标准的都可以用来做 token issuer。
主要为了解决 kubelet 证书 rotate 过程中出现的 crash。
可以查看 controller manager 中的 work queue metrics。
kubelet 无法 mount filesystem 时候上报 event。
允许 GC 清理 ControllerRevisions,避免进入一个无法删除的 loop。
使用 docker buildx 进行 cross build。
Istio
在多集群中,有些服务本质上是集群本地的,不应该从其他集群访问,因此需要支持Mesh的运维人员有选择的决定是否将单个服务合并到多集群Mesh中。
Kubernetes 在 1.17 版本中推出了 Service Topology 的 alpha 版本,在之前 Service 的基础上扩展支持了 zone 和 region 标签,并容许任意拓扑,这个特性要求开启 EndpointSlice。Istio中需要计划对其提供支持,实现更丰富的区域路由和负载均衡能力。
- 正在规划中的 Istio 2020年 Roadmap:
- 安装:控制平面合并为 istiod,支持单个 mesh 中的多个控制平面(用于控制平面升级),支持在 Kubernetes 之外存储 istio 的配置数据,支持 K8s 和虚拟机上的现有应用不停机地移到 istio;
- 多集群:支持单一网络/多网络,支持单一控制平面/多控制平面;
- 虚拟机支持:重构 service entry 为 workload entry;
- 服务发现:支持 consul / Lambda / Azure functions / Zookeeper;
- 可扩展性方面:弃用 Mixer v1,支持 WASM 扩展 Envoy,实现 Mixer 中的 Policy 和 Tlemetry;
- 运维:新的 traffic management API;支持 K8s Ingress v2,支持使用 WASM 扩展 Istio;
- 安全:增加 Istio Agent;支持使用 SDS 扩展运行于虚拟机上的 Mesh;使用 SPIFFE trust bundle 的 Mesh 联邦。
- 同样规划的 Istio 2020 年 Release 计划,原则上每三个月进行一个版本发布:
- Istio 1.5:预计 2 月 18 日,但目前已经延迟,改为 3 月 5 日
- Istio 1.6:预计 5 月 19 日
- Istio 1.7:预计 8 月 18 日
- Istio 1.8:预计 11 月 15 日
- Istio准备弃用 Mixer
Mixer 将在 Istio 1.5 中标记为 deprecated;计划在 Istio 1.7 (预计在 2020 年 8 月份发布)中删除,Mixer 的代码将被移动到 Istio-ecosystem。新的 Mixer V2 方案正在开发中,Mixer 原有的功能将被移到 Envoy 中,以 WASM 的形式进行扩展。
开源项目推荐
方便 spring cloud 对接跑在 Kubernetes 中的 spring boot 应用。
本周阅读推荐
列举了 13 点在裸金属里运行 Kubernetes 的劣势。
对 Service Mesh 生态当前概况的整体解读。
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”