当前位置: 首页 > news >正文

EKS环境下服务重启50X错误

EKS中,当使用AWS Load Balancer Controller时,ALB有两种模式,Internet-facing和Internet,当使用Internet模式时,ALB注册的是NodeIP;使用Internet-facing模式时,ALB注册的则是Pod IP。从模式上来说,Internet-facing模式因少了一层转发,通信效率将更高,但因ALB特性,也会在重启服务时,ALB的IP注册销毁存在滞后性,从而导致服务出现短暂中断,这个场景主要有两种:

  1. 新IP注册时,需要初始化及健康监测两个步骤,当新的Pod已经创建,但旧的Pod已销毁,但ALB层面未完成新的IP注册,可能短暂出现无可用Pod的局面
  2. 在实测过程中,当新的Pod IP处于healthy状态,旧的处于draining状态的Pod IP仍有可能接受到请求

解决方案 

## 通过下面命令为服务所在命令空间添加相应标签,以启动Readiness Gate功能,该功能在Pod重启时,会先等新的IP health后再执行销毁旧的IP
kubectl label namespace 命名空间 elbv2.k8s.aws/pod-readiness-gate-inject=enabled

设置preStop,延迟20秒销毁Pod,这样可以避免将流量打到draining状态的IP 

    spec:
      containers:
      - image: public.ecr.aws/l6m2t8p7/docker-2048:latest
        imagePullPolicy: Always
        name: app-2048
        lifecycle:
          preStop:
            exec:
              command: ["sleep 20"] 

相关文章:

  • 小白学习java第16天(上): javaWeb
  • LLM开发——基于DeepSeek R1 和 Qwen 构建智能检索增强生成系统
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • Java大厂面试:互联网医疗场景中的Spring Boot与微服务应用
  • 【应用密码学】实验二 分组密码(2)
  • 获取电脑mac地址
  • 特征工程三:数据特征之词干提取器(stemmer)
  • 如何有效防止 SQL 注入攻击?
  • 使用wavesurferJs实现录音音波效果
  • 数据可视化 —— 直方图
  • git 基础开发操作
  • memcpy 使用指南 (C语言)
  • Node.js API 安全的主要策略:最佳实践
  • 来自B站AIGC科技官的“vLLM简介“视频截图
  • FPGA时钟设计
  • XMOS直播声卡——可支持实时音频DSP处理的低延迟音频方案
  • 音频转base64
  • SQL面试之--明明建了索引为什么失效了?
  • C语言复习笔记--内存函数
  • 《代码整洁之道》第10章 类 - 笔记
  • 4月份全国93个国家气象站日最高气温达到或突破极值
  • 马上评丨学生举报食堂饭菜有蛆,教育局应该护谁的犊子
  • 央行回应美债波动:单一市场、单一资产变动对我国外储影响总体有限
  • 校长套取学生伙食费设小金库,重庆通报6起违反八项规定典型问题
  • 【社论】用生态环境法典守护生态文明
  • 王一博赛车故障退赛冲上热搜,工作室回应:下次再战