阿里云k8s环境下,因slb限额导致的发布事故

news2024/11/17 9:40:09

一、背景

阿里云k8s容器,在发布java应用程序的时候,客户端访问出现500错误。

后端服务是健康且可用的,网关层大量500错误请求,slb没有流入和流出流量。

经过回滚,仍未能解决错误。可谓是一次血的教训,特此记录下来,如果你也使用的是阿里云slb来实现k8s的service,值得一看,希望对你有所帮助。

在讲述这个事故前,我们还是照旧把系统架构交待清楚。

二、系统架构

在这里插入图片描述

1、kong upsteam

配置的是slb的内网IP+端口号
在这里插入图片描述

2、k8s的服务service

在这里插入图片描述

3、slb监听虚拟服务器

在这里插入图片描述
在这里插入图片描述

下面是重点需要关注的,,虚拟服务器组下的四个服务器,对应的就是4个pod的ip地址。

本文所述的发布事故,就是这里的服务器没有及时更新导致。

在这里插入图片描述

4、pod的ip地址

在这里插入图片描述
绿色的“Running”,表示Pod节点运行健康。
我这里使用了服务注册中心consul,从consul也能佐证java服务是健康无疑。

在这里插入图片描述

当然我还进一步验证,直接访问pod的接口,比如/info和/health接口,返回的版本号和健康状态也都是正常。

三、问题排查

1、kong网关报错

23937#0: *2832787172 connect() failed (111: Connection refused) while connecting to upstream
request: request: "PUT /api/v3/pub/user/extend HTTP/1.1"

在这里插入图片描述

2、slb监控

可以看到,出现故障之后,连接数和流量将至零。也就是说,http请求没有能够进入后端pod节点。

在这里插入图片描述

3、k8s容器的服务service

在这里插入图片描述

Error syncing load balancer [lb-bpxxxxxxxxxx6ndspgh]: Message: There is backend server has reached to the quota limit number of load balancers that it could be related to.

根据错误信息,查找阿里云的帮助文档,https://help.aliyun.com/zh/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-errorcodes

见下:

在这里插入图片描述
由此可见,是配额限制了。

继续查找文档,
https://help.aliyun.com/zh/slb/classic-load-balancer/product-overview/limits-1

在这里插入图片描述
可以看到,这里是默认50,所以我们到slb的配额设置查看,并申请调整至80。

在这里插入图片描述

申请调额:

在这里插入图片描述

四、踩过的坑

比较明确的一点是,问题出在slb。所以我们的思路,先是换一个,不行之后,又新建一个全新的slb。其实,问题在于我们忽视了k8s对很多指标的配额阈值。

1、slb的每个实例可以保有的监听数量超过了限制

所以尝试把k8s的服务service修改到另外一个slb,结果还是一样报错。

2、新建一个slb,跟上面的报错一样。

service状态一直是创建中

在这里插入图片描述

3、配额限制

我们缺少监控和报警,导致我们的思路,一直不能理解发布为啥会突然出错。
在这里插入图片描述

五、总结

1、Kong upstream配置pod IP

在没有解决问题前,只能在Kong的upstream配置pod IP,而非slb ip。虽然能解决,但是不够动态,显然是临时解决方案。

因为我们没有去做动态注册kong upstream。

2、阿里云的限额配置不直观

说同一台服务器可以重复添加为slb后端服务器的次数使用了53,可是到底是哪些,并不知晓。。为啥不弄个明细给用户可以查看。

3、架构的优化

  • 去slb的依赖
  • kong部署到k8s
  • 引入ingress网关
  • 使用k8s内部的发现机制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1499488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数组与指针之二——二级指针之一

定义是这样: 多级指针(二级指针),C语言多级指针的用法详解 (biancheng.net) 这是针对变量,且是一级一级的取的。但是我们经常要面对数组,用到二级指针。如前面第一篇所述,对一维数组名取地址&…

折扣价和折扣实时转换

背景 : react 项目 问题 : 在折扣数中输入折扣2.333333,中间会多很多0,输入2.222,不能正常输入到第三位 如下图 原因 : oFixed()数字转字符串时可能会导致精度问题 解决思路 : parseFloat来解析浮点数原代码 const calculateDiscountVal (p…

学习Java的第四天

目录 一、if选择结构 1、基本if选择结构 语法结构: 流程图: 示例: 2、if-else 选择结构 语法结构: 流程图: 示例: 3、多重if选择结构 语法结构: 流程图: 示例&#xff1a…

如何让JMeter也生成精美详细allure测试报告

(全文约2000字,阅读约需5分钟,首发于公众号:测试开发研习社,欢迎关注) 内容目录: 一、需求 二、思路 三、验证 四、实现 五、优化 六、彩蛋 篇幅较长,建议先收藏后阅读 一、需…

Java项目:42 ssm的高校专业信息管理系统设计与实现001

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统可以提供信息显示和相应服务 管理员查看学生报名专业,管理专业,课程以及学生,查看学生提问并回答问题&#x…

飞驰云联CEO朱旭光荣获“科技领军人才”称号

2024年2月29日,苏州工业园区“优化营商环境暨作风效能建设大会”成功举办,会上公布了2023年度苏州工业园区第十七届第一批金鸡湖科技领军人才名单,Ftrans飞驰云联创始人兼CEO朱旭光先生凭借在数据安全以及文件交换领域取得的突出成果&#xf…

浅谈高并发的一些解决思路

前言 《中国互联网发展状况统计报告》指出,截至2020年6月,我国网民规模已经达到9.40亿,较2020年3月年增长3625万,除了如此庞大的用户基数,如今人们接入互联网的方式也越来越多样,小到智能手表,…

MySQL存储函数

存储函数是有返回值存储过程,存储函数的参数只能还是IN类型的 1、语法 create function 存储函数名称 ([参数列表])Returns type [characterrastic...]Begin--SQL语句Return ..;End;characterrastic说明:Deterministic:相同的输…

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

Linux:kubernetes(k8s)探针LivenessProbe的使用(9)

他做的事情就是当我检测的一个东西他不在规定的时间内存在的话&#xff0c;我就让他重启&#xff0c;这个检测的目标可以是文件或者端口等 我这个是在上一章的基础之上继续操作&#xff0c;我会保留startupProbe探针让后看一下他俩的执行优先的一个效果 Linux&#xff1a;kuber…

图机器学习(3)-连接层面的特征工程

0 问题定义 通过已经连接去猜未知连接&#xff1a; 有两个思路&#xff1a;

金融行业专题|基金超融合架构转型与场景探索合集(2023版)

更新内容 更新 SmartX 超融合在基金行业的覆盖范围、部署规模与应用场景。更新信创云资源池、关键业务系统性能优化等场景实践。更多超融合金融核心生产业务场景实践&#xff0c;欢迎下载阅读电子书《金融核心生产业务场景探索文章合集》。 随着数字化经济的蓬勃发展&#xf…

WPF 消息提示 类似toast方式

WPF里面的消息提示一般都是MessageBox.Show()&#xff0c;这种样式不是很好看&#xff0c;所以就想办法重新搞了一个类似弹出消息的功能。原理很简单&#xff0c;就是弹出一个新窗体&#xff0c;然后等几秒窗体自动关闭。 先上效果图&#xff1a; 新建一个MsgHelper.cs类&…

板绘学习路线、技巧和日常练习-----线条基础(点线面)---持续补充

板绘学习路线、技巧和日常练习-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/136199248 虽然PS画线条可以用快捷键画&#xff0c;但是太AI了。我们需要线条包含更多的人性。所以通过我们心-脑-手&#xff0c;这样…

腾讯云2024年云服务器优惠价格表,不买后悔!

腾讯云服务器多少钱一年&#xff1f;61元一年起&#xff0c;2核2G3M配置&#xff0c;腾讯云2核4G5M轻量应用服务器165元一年、756元3年&#xff0c;4核16G12M服务器32元1个月、312元一年&#xff0c;8核32G22M服务器115元1个月、345元3个月&#xff0c;腾讯云服务器网txyfwq.co…

滤波器:工作原理和分类及应用领域?|深圳比创达电子EMC

滤波器在电子领域中扮演着重要的角色&#xff0c;用于处理信号、抑制噪声以及滤除干扰。本文将详细介绍滤波器的工作原理、分类以及在各个应用领域中的具体应用。 一、滤波器的定义和作用 滤波器是一种电子设备&#xff0c;用于选择性地通过或阻塞特定频率范围内的信号。其主…

【小黑送书—第十一期】>>如何阅读“计算机界三大神书”之一 ——SICP(文末送书)

《计算机程序的构造和解释》&#xff08;Structure and Interpretation of Computer Programs&#xff0c;简记为SICP&#xff09;是MIT的基础课教材&#xff0c;出版后引起计算机教育界的广泛关注&#xff0c;对推动全世界大学计算机科学技术教育的发展和成熟产生了很大影响。…

MySQL的事务隔离级别介绍

我将为您详细讲解 MySQL 的事务隔离级别&#xff0c;并给出相应的简单例子。事务隔离级别是数据库管理系统中用于控制事务内外的数据一致性和并发性的重要概念。在 MySQL 中&#xff0c;事务隔离级别用于解决并发操作可能产生的问题&#xff0c;如脏读、不可重复读和幻读。 1. …

自然语言处理: 第十三章P-tuing系列之P-tuning V1

项目地址: P-Tuning 论文地址: [2103.10385] GPT Understands, Too (arxiv.org) 理论基础 正如果上一节介绍LoRA(自然语言处理: 第十二章LoRA解读_lora自然英语处理-CSDN博客)一样,本次介绍的在21年由清华团推提出来的 P-Tuning V1系列也属于PEFT(参数高效微调系列)里的一种&…