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

k8s node 报IPVS no destination available

在 Kubernetes 集群中,IPVS no destination available 错误通常表示 kube-proxy(IPVS 模式)无法为 Service 找到可用的后端 Pod。这会导致流量无法正确转发,影响服务可用性。以下是详细的排查和解决方法:

一、错误原因分析

IPVS 是 kube-proxy 的一种模式,通过内核模块实现 Service 负载均衡。当出现 no destination available 时,可能的原因包括:

Pod 状态异常

  • Pod 未就绪(Readiness/Liveness Probe 失败)
  • Pod 处于 CrashLoopBackOff 或 Terminating 状态

Endpoint 对象异常

  • Endpoints 资源未正确生成或更新
  • Endpoints 中没有匹配的 IP 地址

IPVS 配置错误

  • kube-proxy 未正确同步 Service 和 Endpoints
  • IPVS 规则未正确创建或已过期

网络隔离问题

  • Node 与 Pod 之间网络不通
  • 防火墙或 NetworkPolicy 阻断流量

二、排查步骤

1. 检查 Service 和 Endpoints
# 查看 Service 配置
kubectl describe service <service-name># 查看对应的 Endpoints
kubectl get endpoints <service-name> -o yaml

关键验证点

  • Endpoints 是否包含健康的 Pod IP 和端口
  • Pod IP 是否与实际运行的 Pod 匹配
2. 检查 Pod 状态
# 查看 Pod 状态
kubectl get pods -l <selector>  # selector 为 Service 的标签选择器# 查看 Pod 详细信息
kubectl describe pod <pod-name>

常见问题

  • Pod 是否处于 Running 状态且 Ready 为 True
  • 是否有 Probe 失败导致 Pod 被标记为不健康
3. 检查 kube-proxy 状态
# 查看 kube-proxy 日志
kubectl logs -n kube-system <kube-proxy-pod-name># 检查 kube-proxy 是否使用 IPVS 模式
kubectl get configmap kube-proxy -n kube-system -o yaml | grep mode
4. 验证 IPVS 规则
# 在 Node 上安装 ipvsadm
yum install ipvsadm  # CentOS/RHEL
apt install ipvsadm  # Ubuntu/Debian# 查看 IPVS 规则
ipvsadm -L -n# 示例输出(应包含 Service 和后端 Pod):
# IP Virtual Server version 1.2.1 (size=4096)
# Prot LocalAddress:Port Scheduler Flags
#   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
# TCP  10.96.0.1:443 rr
#   -> 192.168.1.10:6443          Masq    1      0          0

三、解决方法

1. 重启 kube-proxy Pod
kubectl delete pods -n kube-system -l k8s-app=kube-proxy
# Kubernetes 会自动重建 kube-proxy Pod
2. 重建 IPVS 规则
# 在 Node 上执行(需 root 权限)
ipvsadm -C  # 清除所有 IPVS 规则
systemctl restart kube-proxy  # 重启 kube-proxy 重建规则
3. 检查 kube-proxy 配置

确保 kube-proxy 配置正确(configmap/kube-proxy):

apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"  # 确保使用 IPVS 模式
ipvs:scheduler: "rr"  # 负载均衡算法strictARP: true  # 启用 strictARP 避免 ARP 冲突
4. 检查 Pod 健康状态
  • 确保 Pod 的 Readiness Probe 配置正确:
    readinessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 5periodSeconds: 10
    
5. 检查网络策略
# 查看是否有 NetworkPolicy 阻断流量
kubectl get networkpolicy --all-namespaces# 临时禁用 NetworkPolicy 测试(不推荐生产环境)
kubectl delete networkpolicy --all
6. 升级 kube-proxy 和内核版本
  • 升级到最新稳定版 kube-proxy(1.24+)
  • 确保内核版本支持 IPVS(3.10+)

四、预防措施

  1. 监控 Endpoints 变化
    使用 Prometheus 监控 kube_endpoint_address_available 指标,检测 Endpoints 异常。

  2. 配置合理的 Probe
    为所有 Pod 设置 Readiness 和 Liveness Probe,确保健康状态被正确检测。

  3. 启用 IPVS 健康检查

    ipvs:healthCheckTimeout: 5s  # 健康检查超时时间healthCheckInterval: 10s  # 检查间隔
    
  4. 定期清理异常 Pod
    使用 CronJob 或 Operator 自动清理长时间处于异常状态的 Pod。

五、验证修复效果

# 再次检查 IPVS 规则
ipvsadm -L -n# 测试 Service 连通性
kubectl run curl --image=radial/busyboxplus:curl -i --tty --rm
# 在容器内执行:
curl <service-ip>:<port>

通过以上步骤,可定位并解决 IPVS no destination available 问题,确保 Service 流量正常转发。

相关文章:

k8s node 报IPVS no destination available

在 Kubernetes 集群中&#xff0c;IPVS no destination available 错误通常表示 kube-proxy&#xff08;IPVS 模式&#xff09;无法为 Service 找到可用的后端 Pod。这会导致流量无法正确转发&#xff0c;影响服务可用性。以下是详细的排查和解决方法&#xff1a; 一、错误原因…...

单片机-STM32部分:10-2、逻辑分析仪

飞书文档https://x509p6c8to.feishu.cn/wiki/VrdkwVzOnifH8xktu3Bcuc4Enie 安装包如下&#xff1a;根据自己的系统选择&#xff0c;目前这个工具只有window版本哦 安装方法比较简单&#xff0c;都按默认下一步即可&#xff0c;注意不要安装到中文路径哦。 其余部分参考飞书文档…...

计算机网络基础科普

IP地址是计算机网络中标识设备的唯一地址 IPv4&#xff08;32位&#xff09;IPv6&#xff08;128位&#xff09; 1.IPv4&#xff08;32位&#xff09; 简介&#xff1a;IPv4&#xff08;Internet Protocol version 4&#xff09;是互联网协议&#xff08;IP&#xff09;的…...

阿里云CDN的源站配置:权重的详解

在阿里云CDN中为静态资源域名cdn.example.com配置源站时&#xff0c;权重设置需根据实际架构和目标灵活调整。以下是具体建议和配置步骤&#xff1a; 一、权重的核心作用 在阿里云CDN中&#xff0c;源站权重用于控制多个源站之间的流量分配比例&#xff0c;适用于以下场景&…...

《Python星球日记》 第37天:向量与矩阵进阶

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、特征值与特征向量1. 基本概念2. 如何找到特征值和特征向量3. 特征值和特征向量的几何意义二…...

虚幻引擎5-Unreal Engine笔记之显卡环境设置使开发流畅

虚幻引擎5-Unreal Engine笔记之显卡环境设置使开发流畅 code review! 文章目录 虚幻引擎5-Unreal Engine笔记之显卡环境设置使开发流畅1.电源管理2.显卡优先设置3.拯救者支持FnQ性能模式切换&#xff0c;建议开发前切至“野兽模式”或高性能模式。4.NVIDIA 驱动设置5.VS2022中…...

【Linux】冯诺依曼体系结构和操作系统的理解

目录 冯诺依曼体系结构一个例子来深入理解 初识操作系统操作系统的作用设计操作系统的目的操作系统之上和之下分别有啥 管理的精髓&#xff0c;先描述&#xff0c;再组织 冯诺依曼体系结构 我们知道&#xff0c;计算机这个东西发明出来就是帮助人们快速解决问题的。那如果我们想…...

如何构建容器镜像并将其推送到极狐GitLab容器镜像库?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 构建容器镜像并将其推送到容器镜像库 (BASIC ALL) 在构建和推送容器镜像之前&#xff0c;您必须通过容器镜像库的身份验证。 …...

计网学习笔记———网络

&#x1f33f;网络是泛化的概念 网络是泛化的概念 &#x1f342;泛化理解 网络的概念在生活中无处不在举例&#xff1a;社交网络、电话网路、电网、计算机网络 &#x1f33f;网络的定义 定义&#xff1a; 离散的个体通过通讯手段连成群体&#xff0c;实现资源的共享与交流、个…...

计算机三大主流操作系统的前世今生 - Linux|macOS|Windows

全文目录 1 引言2 起源之路2.1 Linux 起源2.2 macOS 起源2.3 Windows 起源 3 综合解析3.1 Linux系统综合解析3.1.1 系统定义与核心架构3.1.2 发展历程3.1.3 核心特点3.1.4 主流发行版3.1.5 应用场景 3.2 macOS系统综合解析3.2.1 系统定义与核心架构3.2.2 发展历程3.2.3 核心特点…...

数据集-目标检测系列- 烟雾 检测数据集 smoke >> DataBall

数据集-目标检测系列- 消防 浓烟 检测数据集 smoke>> DataBall 数据集-目标检测系列- 烟雾 检测数据集 smoke &#xff1e;&#xff1e; DataBall * 相关项目 1&#xff09;数据集可视化项目&#xff1a;gitcode: https://gitcode.com/DataBall/DataBall-detections-10…...

【单片机毕业设计15-基于stm32c8t6的智能酒窖系统设计】

【单片机毕业设计15-基于stm32c8t6的智能酒窖系统设计】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 &#x1f525;这里是小殷学长&#xff0c;单片机毕业设计篇15-基于stm32c8t6的智能酒窖系统设计 &#x1f9ff;创作不易&#xff0c;拒绝白嫖可私 一、功能介绍 ----…...

【Bluedroid】蓝牙 HID 设备服务注册流程源码解析:从初始化到 SDP 记录构建

本文围绕蓝牙 HID&#xff08;人机接口设备&#xff09;服务注册流程&#xff0c;详细解析从 HID 服务启用、设备初始化、L2CAP 通道注册到 SDP&#xff08;服务发现协议&#xff09;记录构建的全流程。通过分析关键函数如btif_hd_service_registration、BTA_HdEnable、HID_Dev…...

TWAS、GWAS、FUSION

全基因组关联研究&#xff08;GWAS&#xff0c;Genome-Wide Association Study&#xff09;是一种统计学方法&#xff0c;用于在全基因组水平上识别与特定性状或疾病相关的遗传变异。虽然GWAS可以识别与性状相关的遗传信号&#xff0c;但它并不直接揭示这些遗传变异如何影响生物…...

测试一下多模态提取图片中文字的能力

测试一下多模态提取图片中文字的能力 原图片&#xff0c; 提取结果&#xff0c; 各位嘉宾&#xff0c;大家好&#xff01;明天&#xff08;5月11日&#xff09;9:00-12:00将在大连市高新园区星火亚庭32号A座一层二楼设置咖啡厅等六个小水活动。请大家积极安排时间&#xff0c;…...

(51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)

前言&#xff1a; 本次Timer0模块改装了一下&#xff0c;注意&#xff01;&#xff01;&#xff01;今天只是简单的实现一下&#xff0c;明天用次功能显示遥控密码锁 演示视频&#xff1a; 在审核 源代码&#xff1a; 如上图将9个文放在Keli5 中即可&#xff0c;然后烧录在…...

物品识别 树莓派4 YOLO v11

让树莓派可以识别身边的一些物品 python3 -m venv --system-site-packages yolooo source yolooo/bin/activate 树莓派换清华源&#xff0c;bookworm 下面这条命令将安装 OpenCV 以及运行 YOLO 所需的基础设施 pip install ultralytics 还会安装大量其他软件包&#xff0c…...

【计算机视觉】3DDFA_V2中表情与姿态解耦及多任务平衡机制深度解析

3DDFA_V2中表情与姿态解耦及多任务平衡机制深度解析 1. 表情与姿态解耦的技术实现1.1 参数化建模基础1.2 解耦的核心机制1.2.1 基向量正交化设计1.2.2 网络架构设计1.2.3 损失函数设计 1.3 实现代码解析 2. 多任务联合学习的权重平衡2.1 任务定义与损失函数2.2 动态权重平衡策略…...

istio in action之流量控制与路由

当流量进入集群后&#xff0c;我们如何确保它能被精确地路由到正确的服务&#xff1f;特别是当我们需要发布新版本时&#xff0c;如何在不中断服务的前提下&#xff0c;安全地将用户引入到新版本&#xff1f;这正是我们今天要深入探讨的精细化流量控制&#xff0c;看看 Istio 如…...

图像处理篇---opencv实现坐姿检测

文章目录 前言一、方法概述使用OpenCV和MediaPipe关键点检测角度计算姿态评估 二、完整代码实现三、代码说明PostureDetector类find_pose()get_landmarks()cakculate_angle()evaluate_posture() 坐姿评估标准&#xff08;可进行参数调整&#xff09;&#xff1a;可视化功能&…...

优选算法——前缀和

目录 1. 数组的中心下标 2. 除自身以外数组的乘积 3. 和为k的子数组 4. 和可被K整除的子数组 5. 连续数组 6. 矩阵区域和 1. 数组的中心下标 题目链接&#xff1a;724. 寻找数组的中心下标 - 力扣&#xff08;LeetCode&#xff09; 题目展示&#xff1a; 题目分析&am…...

用AI写简历是否可行?

让AI批量写简历然后投简历是绝对不行的&#xff01;&#xff01;&#xff01; 为什么不行&#xff0c;按照 "招聘经理" 工作经历举例&#xff1a; ai提示词&#xff1a;请帮我写一份招聘经理的工作经历内容&#xff1a; 招聘经理 | XXX科技有限公司 | 2020年…...

力扣题解:2、两数相加

个人认为&#xff0c;该题目可以看作合并两个链表的变种题&#xff0c;本题与21题不同的是&#xff0c;再处理两个结点时&#xff0c;对比的不是两者的大小&#xff0c;而是两者和是否大于10&#xff0c;加法计算中大于10要进位&#xff0c;所以我们需要声明一个用来标记是否进…...

C语言_函数hook方案

背景 单体测试中测试一个函数时,该函数调用的其他函数,需要按照测试case,依赖其他函数进行调用参数检查,返回特定值。但是其他函数,不容易做到参数检查和返回特定值,这时需要将其他函数进行hook,hook函数用户自己实现,比较容易实现参数检查和返回值特定值。 本文主要…...

IPM IMI111T-026H 高效风扇控制板

概述&#xff1a; REF-MHA50WIMI111T 是一款专为风扇驱动设计的参考开发板&#xff0c;搭载了英飞凌的IMI111T-026H iMOTION™智能功率模块(IPM)。这个模块集成了运动控制引擎(MCE)、三相栅极驱动器和基于IGBT的功率级&#xff0c;全部封装在一个紧凑的DSO22封装中。REF-MHA50…...

Qt 关于获取postgres time with time zone类型字段存在无效值的情况

Qt 获取 postgres time with time zone类型字段存在无效值的情况 事件起因 在使用Qt获取pg数据库中time with time zone类型字段时偶发出现时间获取失败,体现为获取结果为无效值 QVariant vt sqlQuery->value(i); // QVariant(QTime, QTime(Invalid))查看源码 查看Qt q…...

武汉火影数字|数字科技馆打造:开启科技探索新大门

足不出户&#xff0c;就能畅游科技的奇幻世界&#xff0c;你相信吗&#xff1f;数字科技馆就能帮你实现&#xff01;在这个数字化的时代&#xff0c;数字科技馆如同一颗璀璨的新星&#xff0c;照亮了我们探索科学的道路。 那么&#xff0c;数字科技馆究竟是什么呢&#xff1f; …...

suricata之日志截断

一、背景 在suricata的调试过程中&#xff0c;使用SCLogXXX api进行信息的输出&#xff0c;发现输出的日志被截断了&#xff0c;最开始以为是解析逻辑有问题&#xff0c;没有解析完整&#xff0c;经过排查后&#xff0c;发现SCLogXXX api内部进行了长度限制&#xff0c;最长2K…...

leetcode 2918. 数组的最小相等和 中等

给你两个由正整数和 0 组成的数组 nums1 和 nums2 。 你必须将两个数组中的 所有 0 替换为 严格 正整数&#xff0c;并且满足两个数组中所有元素的和 相等 。 返回 最小 相等和 &#xff0c;如果无法使两数组相等&#xff0c;则返回 -1 。 示例 1&#xff1a; 输入&#xf…...

简易图片编辑工具,支持抠图和替换背景

软件介绍 Photo Retouch是一款由微软官方商店推出的免费图片处理软件&#xff0c;具有抠图、换背景、修复等功能&#xff0c;操作便捷且效率极高&#xff0c;非常值得尝试。 功能详解 这款软件提供五大功能&#xff0c;包括删除物体、快速修复、一键抠图、背景调整和裁剪…...