前言
《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第十三期云原生生态周报的内容。
业界要闻
1 . 近日,全球知名市场调研机构Forrester发布首个企业级公有云容器平台报告。报告显示,阿里云容器服务市场表现为中国第一,与谷歌云并列全球第三。
2 . Virtual Kubelet 开源项目发布第一个可商用1.0版本,本次发布的主要特点包括:
API 将趋于稳定
发布版不再提供二进制文件,用户可以自定义发行版。
提供测试用的 CLI
非通用版的 Charts 也将从库中移除
上游重要进展
Kubernetes 项目
1 Kubernetes 设计增强提议(KEP):
Even Pods Spreading,这个设计提议通过 MaxSkew 算法来尽量均匀的调度 Pod 到目的节点,相关的 PR(#77760、# 77828、# 79062、#79063)。
增强 DaemonSet 灰度能力: 新增 SurgingRollingUpdate,并在 RollingUpdate 和 SurgingRollingUpdate 中增加灰度升级的能力。
2 Scheduler Framework 特性添加了 Filter 插件,Filter 插件用于过滤掉无法运行 Pod 的节点,可将所有现有的 predicates 函数转换为 Filter 插件。https://github.com/kubernetes/kubernetes/pull/78477
Knative 项目
Importers 中事件类型命名空间该如何设置?GitHub 社区关于该问题展开了讨论,首先关于 Importer 中功能定位进行了确认。包括
针对事件生产者进行事件订阅及管理
从事件生产者获取事件信息
将事件转化成标准的 CloudEvent
将事件发送到相应的 Sink
其中针对将事件转换成 CloudEvent 时,事件的类型的命名空间前缀需要进行修改。以 githhub 事件为例,当前转换成 CE(CloudEvent)时,设置为 dev.knative.source.github., 是否应该以事件生产者作为命名空间 com.github.,参考 CloudEvent 给出的映射处理:https://github.com/cloudevents/spec/blob/master/adapters/github.md。
CloudEvent事件属性过滤。针对 Cloud Event 中除了 data 之外的其它属性,都应该可以通过 Trigger 进行过滤。
修改事件注册 Registry: 通过修改 eventtypes ,支持发现 Importer 事件类型,增强事件注册 Registry 机制。该方案进行了进一步的讨论,包括通过 eventTypesSupported 替换 eventTypes,这样表述更能让 end-user 清晰明白。
Make it easier to consume events directly from specific sources。针对事件源,优化用户使用场景本周确定了 Decision,预计会在 0.9 之后实现。大致方案是用户可以直接在 Eventype 以及 Trigger 中指定事件源进行创建,参考Demo
Istio 项目
Istio 发布了 1.2.x 和1.1.x 系列的最新版本1.2.3和1.1.12,增强了在虚拟服务中定义基于正则表达式的 HTTP URI 匹配时支持大小写的能力,这样用户可以定义出更加灵活的匹配路由规则。此外,Istio 在多集群管理方面也提供了 3 种不同方式:多个控制平面、同 VPC 网络下的单控制平面与多个 VPC 网络下的单控制平面。值得注意的是,这几种方式并不是互斥的,在一个大型多集群网格环境下,既可以多个集群共享一个控制平面,同时也可以与其他集群保持独立的控制平面。这种场景在混合云多云环境下比较常见,例如在阿里云 ACK 容器服务控制台中可以接入外部已有集群,并与 ACK 集群形成一个服务网格。
开源项目推荐
IBM推出的Kabanero项目: 它将基础开源技术整合到了一个微服务的框架中,包括 Knative、Istio 与 Tekton,还有 Appsody、Codewind 和 Razee,帮助用户构建、部署和管理基于 Kubernetes 的应用程序的生命周期。快速创建云原生的 App,目前支持多种语言。包括 nodeJS,Java,Swift 等。
Kyverno,K8s Admission Controller 扩展项目:它可以设置各种 policy 作为自定义 admission 的补充,可以约束用户的某些行为,例如必设置资源时必须设置 limit 和 request,设置镜像版本时,必须按照指定的拉取策略设置等等。
k6:k6 是一个以开发人员为中心的开源负载和性能回归测试工具,用于测试云原生后端基础架构的性能:API、微服务、无服务器、容器和网站。它可以很好地集成到开发工作流程和 CI/CD 自动化管道中。
本周阅读推荐
在 Kubernetes 上使用 Jenkins: 本文描述了基于 Kubernetes + Jenkins 的一种 DevOps 的解决方案。
Cluster Monitoring With Prometheus Operator:本文简要描述了 Prometheus Operator 在 Kubernetes 的无缝安装和其作用、工作原理以及帮助监控通过 Prometheus Operator 发挥作用以发现目标并削减冗余指标。
基于边缘容器的阿里云CDN云原生实践 , 阿里云容器服务于 8 月 1 号正式公测“边缘 Kubernetes 集群托管”服务,该服务面向 CDN、IoT 等诸多边缘计算场景,提供云边一体的云原生体验。CDN 场景中不仅规模比较大,而且也能锤炼整个边缘集群的稳定性和大规模的服务能力。
Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler 。Knative Serving 默在认情况下,提供了开箱即用的快速、基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA)。本文旨在分享如何在 Knative 中玩转 Autoscaler。
本周报由阿里巴巴容器平台联合蚂蚁金服共同发布
本文作者:衷源、元毅、张磊、王夕宁
责任编辑:木环
前期周报回顾
云原生生态周报 Vol. 12:K8s 1.16 API 重大变更
云原生生态周报 Vol. 11 | K8s 1.16 早知道
云原生生态周报 Vol. 10 | 数据库能否运行在 K8s 当中?
云原生生态周报 Vol. 9 | K8s 1.15 后的性能提升
云原生生态周报 Vol. 8 | Gartner 发布云原生趋势
云原生生态周报 Vol. 7 | Docker 再爆 CVE
云原生生态周报 Vol. 6:KubeCon EU 亮点汇总
云原生生态周报 Vol.4:Twitter 从 Mesos 全面转向 Kubernetes
云原生生态周报 Vol. 3:Docker Hub 遭入侵,Java 8 开始提供良好的容器支持
云原生生态周报 Vol. 2:Godaddy 开源 KES、CNCF 提供免费云原生课程
云原生生态周报 Vol. 1:Google 发布 Cloud Run,开源项目 Kubecost 让 K8s 花费一目了然
评论