前言
《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第四十期云原生生态周报的内容。
业界要闻
由于新冠疫情影响,外国企业、开发者到访中国存在不确定性,加上召集演讲人、赞助商及参会者所遇到的困难,CNCF 宣布原定于 2020 年 7 月在上海举办的 KubeCon + CloudNativeCon + 开源峰会取消。
同时,原计划于 3 月 30 日 - 4 月 2 日在荷兰阿姆斯特丹举办的 KubeCon + CloudNativeCon 峰会欧洲场也因疫情影响,被推迟到 2020 年 7 月或 8 月举行。而 KubeCon + CloudNativeCon North America 2020 则将按计划在 2020 年 11 月 17 日至 20 日在波士顿举行。
可以基于 Kubernetes 高效地构建、训练和部署 AI 应用。此次发布中包括的核心组件如下:
Jupyter Notebook controller: 用户可以方便使用 Jupyter Notebook 开发工具来开发新的机器学习模型;
TFJob and PyTorch Operator:用于模型训练;
kfctl:用于部署和管理 Kubeflow;
KFServing:机器学习模型的部署和管理;
Kubeflow UI:集中仪表板。
阿里云 ACK 整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。Gartner 竞争格局国内唯一入选,Forrester 报告国内排名第一。欢迎试用!欢迎广大读者前来试用!
上游重要进展
Kubernetes
由于 API Server 和 client 是使用 HTTP2 协议连接,HTTP2 的多个请求都会复用底层的同一个 TCP 连接并且长时间不断开。而在 API Server 发生 RollingUpdate 或者某个 API Server 实例重启时,又或者 API Server 使用 MaxSurge=Replica 方式升级后, Load Balance 没有及时的将所有副本挂载完毕,client 能敏感的感知到连接的断开并立刻发起新的请求,这时候很容易引起较后启动(或者较后挂载 Load Balance)的 API Server 没有一点流量,并且可能永远都得不到负载均衡。
蚂蚁金服的同学对这个问题做了修复,增加了一种通用的 HTTP filter,API Server 概率性(建议 1/1000)的随机关闭和 Client 的链接(向 Client 发送 GOAWAY)。关闭是优雅的关闭,不会影响 API Server 和 client 正在进行中的长时间请求(如 Watch 等),但是收到 GOAWAY 之后,client 新的请求就会重新建立一个新的 TCP 链接去访问 API Server 从而能让 Load Balance 再做一次负载均衡。
这个修复增加了通用的 HTTP filter,能轻易的 port 回老版本的 Kubernetes,其它 HTTP2 server 也有类似问题也可以快速 port 这个通用的 filter(只依赖较新版本 golang.org/x/net package)。
给 kubelet 增加 cgroups v2 的支持。
针对 proxy connection upgrade 请求,强制采用 http1.1 协议。
Service ExternalIPs 遵守 ExternalTrafficPolicy=local 规则,从而达到保留 Client 源 IP 目的。
由于 kubelet 证书轮转机制要求给 kubelet 返回签发的证书时,同时也带上签发者的 CA 信息,用于解决 kube-controller-manager 和 kube-apiserver 的 CA 配置不一致的问题。该 PR 只解决 kube-controller-manager 这块的问题,后续 kubelet 还需要配合修改。
目前主要从容器的 eth device 获取容器 IP 信息,但是针对只使用 lo 和非 device(如: unix domain socket file)的容器当前的实现无法 cover,该 PR 利用 cni ADD 命令结果中返回的容器 IP 信息,而不从容器 eth device 获取 IP 信息。
Knative
Knative 当前轻松支持基于 HTTP 和事件驱动的容器扩缩容,但是为什么不往前一步支持 FaaS 呢? 别急,Knative 社区已经开始计划支持通过 Events 和 HTTP 触发“function”。
开源项目推荐
基于 grpc 的隧道实现,用于定制 kube-apiserver 的 proxy 请求转发。
新启动一个容器和目标 Pod 共享 pid/network/user/ipc 命名空间的方式,在新启动容器为目标 pod 定位问题。该工具可以以 kubectl plugin 方式运行。
本周阅读推荐
推荐使用 kubectl-plugin 的方式往 kubectl 扩展用户的需求和功能。
从微服务数量、导入的紧迫性以及时机等方面分析是否需要使用 Service Mesh。
本文将基于之前介绍的基本网络模型,进行了更深入的了解,希望给予读者一个更广更深的认知。
本文主要从三个方面对 Kubernetes 1.16 与 1.14 的性能进行了对比,分析了 1.16 版本和 1.14 版本的区别。
Kubernetes 1.16 版本相较于 1.14 版本有着众多演进和增强,本文对其一一进行了解读。
相关阅读
云原生生态周报 Vol. 39:Golang 1.14 发布
云原生生态周报 Vol. 38:Apache Flink 1.10.0 发布
云原生生态周报 Vol. 37:国内首个 Kubernetes SIG-Cloud-Provider 子项目揭秘
云原生生态周报 Vol. 36:CNCF 公布 2020 年 TOC 选举结果
云原生生态周报 Vol. 35:Falco 进入 CNCF Incubator 项目
云原生生态周报 Vol. 34:VMware 完成 27 亿美元的 Pivotal 收购
云原生生态周报 Vol. 33:CNCF 宣布 TUF 毕业
云原生生态周报 Vol. 32:Istio 1.5 版本开发中
云原生生态周报 Vol. 31:Kubernetes v1.17 版本解读
云原生生态周报 Vol. 30:Rancher 新版本默认支持 Kubernetes 1.16
云原生生态周报 Vol. 29:Kubernetes 拟支持 Cgroup v2
云原生生态周报 Vol. 28:Mirantis 收购 Docker 企业业务
云原生生态周报 Vol. 26:2019 年容器生态统计报告发布
云原生生态周报 Vol. 25:Canonical 开源 MicroK8
云原生生态周报 Vol. 24:Ubuntu 19.10 发布
云原生生态周报 Vol. 23:全球首个开放应用模型 OAM 开源
云原生生态周报 Vol. 22:Knative 暂时不会捐给任何基金会
云原生生态周报 Vol. 21:Traefik 2.0 正式发布
云原生生态周报 Vol. 20:Kubernetes v1.16 发布
云原生生态周报 Vol. 19:Helm 推荐用户转向 V3
云原生生态周报 Vol. 18:独家解读 etcd 3.4 新特性
云原生生态周报 Vol. 17 :Helm 3 发布首个 beta 版本
云原生生态周报 Vol. 16:CNCF 归档 rkt,容器运行时“上古”之战老兵凋零
云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告
云原生生态周报 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 花费一目了然
本文转载自阿里巴巴云原生微信公众号(ID:Alicloudnative)。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论