9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

云原生生态周报 Vol. 40:API Server 负载均衡问题被解决

  • 2020-03-12
  • 本文字数:3139 字

    阅读完需:约 10 分钟

云原生生态周报 Vol. 40:API Server 负载均衡问题被解决

前言

《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第四十期云原生生态周报的内容。

业界要闻

  1. CNCF 宣布 2020 年中国 KubeCon 取消


由于新冠疫情影响,外国企业、开发者到访中国存在不确定性,加上召集演讲人、赞助商及参会者所遇到的困难,CNCF 宣布原定于 2020 年 7 月在上海举办的 KubeCon + CloudNativeCon + 开源峰会取消。


同时,原计划于 3 月 30 日 - 4 月 2 日在荷兰阿姆斯特丹举办的 KubeCon + CloudNativeCon 峰会欧洲场也因疫情影响,被推迟到 2020 年 7 月或 8 月举行。而 KubeCon + CloudNativeCon North America 2020 则将按计划在 2020 年 11 月 17 日至 20 日在波士顿举行。


  1. Kubeflow 1.0 发布


可以基于 Kubernetes 高效地构建、训练和部署 AI 应用。此次发布中包括的核心组件如下:


  • Jupyter Notebook controller: 用户可以方便使用 Jupyter Notebook 开发工具来开发新的机器学习模型;

  • TFJob and PyTorch Operator:用于模型训练;

  • kfctl:用于部署和管理 Kubeflow;

  • KFServing:机器学习模型的部署和管理;

  • Kubeflow UI:集中仪表板。


  1. 阿里云 ACK 1.16 版本正式灰度上线


阿里云 ACK 整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。Gartner 竞争格局国内唯一入选,Forrester 报告国内排名第一。欢迎试用!欢迎广大读者前来试用!

上游重要进展

Kubernetes

  1. 阿里经济体工程师解决困扰 K8s 社区多年的 API Server 负载均衡问题


由于 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)。


  1. add KEP for cgroups v2 support


给 kubelet 增加 cgroups v2 的支持。


  1. Disable HTTP2 while proxying a “Connection: upgrade” request


针对 proxy connection upgrade 请求,强制采用 http1.1 协议。


  1. Fix ExternalTrafficPolicy support for Service ExternalIPs


Service ExternalIPs 遵守 ExternalTrafficPolicy=local 规则,从而达到保留 Client 源 IP 目的。


  1. Allow signing controller to return intermediate certs


由于 kubelet 证书轮转机制要求给 kubelet 返回签发的证书时,同时也带上签发者的 CA 信息,用于解决 kube-controller-manager 和 kube-apiserver 的 CA 配置不一致的问题。该 PR 只解决 kube-controller-manager 这块的问题,后续 kubelet 还需要配合修改。


  1. Use ip address from CNI output


目前主要从容器的 eth device 获取容器 IP 信息,但是针对只使用 lo 和非 device(如: unix domain socket file)的容器当前的实现无法 cover,该 PR 利用 cni ADD 命令结果中返回的容器 IP 信息,而不从容器 eth device 获取 IP 信息。

Knative

  1. Knative Functions 支持


Knative 当前轻松支持基于 HTTP 和事件驱动的容器扩缩容,但是为什么不往前一步支持 FaaS 呢? 别急,Knative 社区已经开始计划支持通过 Events 和 HTTP 触发“function”。

开源项目推荐

  1. apiserver-network-proxy


基于 grpc 的隧道实现,用于定制 kube-apiserver 的 proxy 请求转发。


  1. kubectl-debug


新启动一个容器和目标 Pod 共享 pid/network/user/ipc 命名空间的方式,在新启动容器为目标 pod 定位问题。该工具可以以 kubectl plugin 方式运行。

本周阅读推荐

  1. 《Bring your ideas to the world with kubectl plugins》


推荐使用 kubectl-plugin 的方式往 kubectl 扩展用户的需求和功能。


  1. 《When You Do (and Don’t Need) a Service Mesh》


从微服务数量、导入的紧迫性以及时机等方面分析是否需要使用 Service Mesh。


  1. 《从零开始入门 K8s | Kubernetes 网络模型进阶》


本文将基于之前介绍的基本网络模型,进行了更深入的了解,希望给予读者一个更广更深的认知。


  1. 《Kubernetes 1.16 与 1.14 性能对比》


本文主要从三个方面对 Kubernetes 1.16 与 1.14 的性能进行了对比,分析了 1.16 版本和 1.14 版本的区别。


  1. 《Kubernetes Release Note 解读(1.15, 1.16)》


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. 27:Helm 3 发布


云原生生态周报 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. 15:K8s 安全审计报告发布


云原生生态周报 Vol. 14:K8s CVE 修复指南


云原生生态周报 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. 5 | etcd 性能知多少


云原生生态周报 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(微信同手机号)。

2020-03-12 16:411919

评论

发布
暂无评论
发现更多内容

VGC挖矿APP系统开发内容

从零开始学习3D可视化之摄像机自由飞行

ThingJS数字孪生引擎

大前端 可视化 3D 数字孪生

加电软件系统开发详情

Vue进阶(幺玖肆):JavaScript解决浮点数精度丢失问题

No Silver Bullet

jquery Vue 浮点数 7月日更

首个SSRF漏洞开篇学习

网络安全学海

网络安全 信息安全 渗透测试 漏洞分析 SSRF

【redis前传】自己手写一个LRU策略

zxhtom

Java redis 原理 造轮子 jdk运用

架构实战营1期第二模块作业

五只羊

架构实战营

数据仓库的基本概念

大数据技术指南

7月日更

Vue进阶(幺叁捌):vue路由传参的几种基本方式

No Silver Bullet

Vue 路由 7月日更

疫情下的在线教育行业未来发展

anyRTC开发者

音视频 WebRTC 在线教育 视频直播 双师课堂

2021世界人工智能大会召开,百度飞桨人工智能产业赋能中心于上海浦东启动运营

百度大脑

人工智能 大数据 百度 物联网

云服务器、虚拟主机以及服务器如何定义的?三者有什么区别?

行云管家

云计算 服务器 云服务器 虚拟主机

黔唐百宜软件系统开发内容

优米心选软件系统开发资料

Axie Infinity区块链游戏系统开发技术

薇電13242772558

区块链

懂了!时间复杂度O(1),O(logn) ,O(n),O(nlogn)...

Ayue、

数据结构

思购趣拼APP系统开发内容

等保二级与等保三级定级标准是怎样?哪个级别更高?

行云管家

网络安全 数据安全 等保 等级保护

CGPay Pro钱包APP系统开发需求

fil矿机怎么选择?用什么fil矿机比较好?

FIL矿机怎么买 fil挖矿

国内报价-APP时间加速

Qunar技术沙龙

优化逻辑 优化 优化技巧 优化业务 报价

重温历史 致敬百年 “复兴大道100号”线上VR展馆正式开馆

百度大脑

百度 虚拟现实

算法大赛报名 | OMG!这些名企的真实数据竟用来battle

工赋开发者社区

算法 工业互联网

了不起的开发者 丨 有奖征文活动来啦!

百度开发者中心

百度 开发者 征文

了解腾讯京东字节等面试风格,掌握财富钥匙,大厂前端面试稳啦!

前端依依

程序员 面试 大前端 经验分享

性能测试软启动初探

FunTester

性能测试 接口测试 测试框架 压力测试 测试开发

我乃平常客,本持平常心| 2021 年中总结

编程三昧

程序人生 大前端 代码人生

火爆 GitHub!这个图像分割神器开源了

百度大脑

百度 算法

7.24 杭州站 | 阿里云 Serverless Developer Meetup 开放报名!

Serverless Devs

云计算 阿里云 Serverless 云原生

容器安全最佳实践入门

百度开发者中心

容器

hadoop 1.0 和 hadoop 2.0 的区别

五分钟学大数据

hadoop 7月日更

  • 扫码添加小助手
    领取最新资料包
云原生生态周报 Vol. 40:API Server 负载均衡问题被解决_服务革新_何淋波_InfoQ精选文章