作者 | 丁海洋、张晓宇、宋净超、孙健波
业界要闻
- OpenKruise v0.5.0 版本发布,支持无损的流式分批发布策略
OpenKruise 是阿里云开源的大规模应用自动化管理引擎,在 Kubernetes 原生 Deployment/StatefulSet 等控制器基础上,提供了更多的增强功能如 优雅原地升级、发布优先级/打散策略、多可用区 workload 抽象管理、统一 sidecar 容器注入管理等。这些 feature 都是经历了阿里巴巴超大规模应用场景打磨出的核心能力,可以帮助开发者应对更加多样化的部署环境和需求、为集群维护者和应用开发者带来更加灵活的部署发布组合策略。
本次 v0.5.0 版本的升级,主要带来了应用无损发布和 sidecar 容器管理上更加便捷的能力。
- 线上版 KuberCon 开源盛会已确认举办时间
开源界大消息:定档于 7 月 30 日 - 8 月 1 日的“Cloud Native + Open Source Virtual Summit China 2020”技术大会官网正式上线「cncf.lfasiallc.cn」,诚邀全球广大的开源组织、企业、技术大咖和开发者注册报名,提前锁定这场开源界最负盛名的旗舰峰会。
- 2020上半年 CNCF 云原生调查
新一期的 CNCF 调查又开始了,希望对这个领域感兴趣的朋友提出你对 CNCF 云原生的看法。相关地址:
https://www.surveymonkey.com/r/GG26PL5
- CNCF 开源项目 Harbor 正式发布 2.0 版本
开源镜像仓库 Harbor 2.0 正式发布了!从 2017 年 4 月发布 1.1 版本算起,经过整整 3 年,Harbor 的版本号终于 “升” 到 2.x 了。
- 信通院推动“中国开源生态地图”构建
阿里巴巴以及蚂蚁金服的多个开源项目入列其中。
- Amazon Red Hat OpenShift announced for public cloud Kubernetes users
5 月 14 日消息,现在用户可以在 AWS 上方便的运行 RH 的 OpenShift 发行版,这是 AWS 和 RH 联合 release 的。
上游重要进展
- Dynamic Cardinality Enforcement
为 metrics 数据的大小添加强制的限制,主要是为了防止由于代码 Bug 或者不恰当的使用导致内存泄漏,手段是允许在运行时动态的配置 metric label values 的白名单。
- KEP-1623: Standardize Conditions.
.status.conditions 这个字段的 schema 缺少规范,在序列化、proto-encoding、字段的限制条件(require vs optional)方面都显得很随意。这个 KEP 意图规范化 .status.conditions 字段。
- EndpointSlice API
目前 Endpoint 这个 API 是一个整体对象,不支持切片,如果一个 Endpoint 对象只是更新一部分值,那么实际上是更新了 etcd 等组件中整个对象,这可能带来一定的性能压力。这个 KEP 希望支持 EndpointSlice。
- Default Even Pod Spreading
该 KEP 计划为 Pod 提供可配置的默认 打散 约束,方便集群的管理员根据集群的拓扑为没有配置打散策略的 Pod 提供默认的打散策略,来达到一定程度的高可用等目的。该 KEP 价值很大,因为当前 Pod 的打散规则是应用开发者自己写在应用模板中的,但实际上应用开发者多数时候并不一定知道集群本身的拓扑信息,反而应该是集群的管理者更加清楚如何根据集群拓扑让应用打散。
- KEP-895: Pod Topology Spread
当前的 Affinity 策略不够灵活,可能会导致 Pod 在特定的集群拓扑中聚集、资源利用不均衡、Pod 在资源充足时候却不能容忍 AntiAffinity 等的负面现象。该 KEP 希望通过定义 TopologySpreadConstraint 这个 API,实现更加灵活的打散规则。
- Multi Scheduling Profiles
在运行多个调度器是,支持通过 API 对多个调度器进行配置。用户可以根据自身需要在为 Pod 调度指定调度器,并可以根据需要对调度器的配置进行个性化设置。
- Add NonPreempting Option For PriorityClasses
驱逐(Peemption)是 K8s 中的一个重要机制,旨在当相对重要的 Pod 因集群资源不足无法调度时,主动清理一部分集群资源保证其可以尽快被调度。NonPreempting 机制的意图是为 Pod 的 PriorityClass 添加一个特殊的字段,让特定的 Pod 不会触发 Preemption 机制。
- Announcing Istio 1.6
在这个版本中,Istio 继续推进今年早些时候在发展战线图中提出的更新方向,朝着更简单、更顺畅的安装体验迈进,同时还引入了其他一些提升。
开源项目推荐
cdk8s
cdk8s 是一个软件开发框架,用于使用熟悉的编程语言和丰富的面向对象的 API 定义 Kubernetes 应用程序和可重用的抽象。 cdk8s 生成纯 Kubernetes YAML-您可以使用 cdk8s 为在任何地方运行的任何 Kubernetes 集群定义应用程序。官网地址:https://cdk8s.io/
本周阅读推荐
- 《CNCF 官方大使张磊:Kubernetes 是一个“数据库”吗?》
近期社区里面越来越多的声音在说 Kubernetes 是 Infrastructure as Data 时代下的数据库,而 OAM 就是这个数据库的“视图”,帮助大家更清晰的抽象和建模。欢迎大家阅读!
- 《调查了 17,000 多位程序员,当前的云原生开发现状究竟如何?》
又是一篇对 CNCF 云原生报道的解读,如果错过了前面的文章,阅读本文也能得到很多信息。“在使用 Kubernetes 的开发人员中,71% 的人提出了建议或影响了决策者。这比没有使用 Kubernetes 的开发人员高 25%。”
- 两个关于 Windows 服务器运行 Container 的消息
Azure 宣布使用 Windows Server 来运行容器的能力已经 GA;几乎同时,GKE 也宣布可以将 Windows Server 加入到节点资源池中。相关链接:
- Announcing the general availability of Windows Server containers and private clusters for Azure Kubernetes Service
- GKE Clusters with node pools running Windows Server is now GA
直播推荐
本次直播为第 3 期 SIG Cloud-Provider-Alibaba 网研会,讲师将会介绍阿里经济体大规模应用上云过程中遇到的核心部署问题、采取的对应解决方案,以及这些方案沉淀为通用化能力输出开源后,如何帮助阿里云上的用户提升应用部署发布的效率与稳定性。
听众可获取以下收益:
- 了解阿里经济体大规模应用上云的实践经验,如何解决原生 K8s workload 不满足场景需求的问题;
- 作为外部用户,如何体验和使用上阿里经济体上云所沉淀下来的应用部署发布能力;
- 演示阿里巴巴针对大规模 K8s 集群如何做到 DaemonSet 高可用的灰度升级(即将开源!)。
点击预约直播:https://developer.aliyun.com/live/2897
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”