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

MetalLB才是给Ingress这个老登做负重前行的那个男人

前文ingress这个老6 记录了我对于ingress-nginx的默认部署方式的认知在集群内产生nginx服务与集群内服务互访利用nginx 走7层转发产生的nginx服务对外以nodeport形式暴露。但是读者也发现了这种默认的ingress-nginx并没有解决节点负载均衡端口受限且不够优雅的问题所以文章说ingress前面还得有一个负载均衡器。这个鸡生蛋蛋生鸡的问题还是得从k8s原教旨找答案。1. nodeport vs loadbalancerk8s 提供多种服务对外暴露的能力选项nodeport某个节点上的端口被用于路由请求到某一个后端服务端口范围是30000-32767所以你不能通过NodePort像80或443端口这样常见的端口。loadbalancer是一项服务通常由云服务提供商作为外部服务实现需额外付费但是loadbalancer也可采用MetalLB这样的软件负载均衡方案来安装到自建k8s集群 这也是本文我要强化的技术漏洞。loadbalancer 提供了单一ip跨多节点的来访问upstream 服务的能力。那我们为什么还要ingressingress本身是一个nginx svc提供了统一的入站请求规则入口收敛了访问k8s内部服务的能力。规则可以是uri、path、host name、https。2.ingress nginx controller[1]ingress nginx controller 是一个流行的ingress。既然ingress也是一个k8s服务收敛了upstream服务的访问能力 那么上面k8s对外暴露服务的两种方式 也可以作用在 ingress上打通整个南北链路。2.1 以nodeport形式安装ingress这是最简单的安装形式, 通过安装我们能看到产生的的svcnodeport形式和deploynginx pod。kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/baremetal/deploy.yaml使用nodeport给出的端口访问这个ingress-nginx。curl worker_external_ip:node_port访问上游服务可通过curl worker-external-ip:node-port -H Host: web.example.com这种也是上文着重聊的ingress基础原理但是很明显nodeport形式暴露的服务达不到生产级别。2.2 使用loadbalancer形式安装ingress我的误区是认为只有云上k8s才能以loadbalancer形式暴露服务。实际上在自建k8s集群MetalLB这种软件负载均衡器也是同样的作用。在自建k8s集群第一步是使用MetalLB提供loadbalancer能力。我们先来验证k8s集群是否有 loadbalancer能力。kubectl apply -f example-lb.yamlapiVersion: v1 kind: Service metadata: name: example-load-balancer spec: selector: app: web ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer执行下列命令kubectl get service example-load-balancer, 你会看到一个external ip。如果云上/自建k8s集群没有loadbalancer能力 你将看不到 externalip 将会显示pending。验证有效那么咱们就可以把ingress-nginx svc改成这个形式对外暴露。修改ingres-nginx svc为loadbalancer形式kubectl edit svc ingress-nginx-controller -n ingress-nginx--- 关注spec.type使用 external-ip 访问服务curlcurl-H Host: web.example.com3. 聚焦MetalLB[2]Whyk8s并没有为裸金属k8s集群提供网络负载均衡器 svc type loadbalancerk8s源码中的loadbalancer是为云服务商提供的胶水代码。如果你不是在受支持的IaaS云平台GCP、AWS、Azure 等上运行k8s创建的负载均衡器将保持“pending”状态。裸金属k8s集群的操作员只有使用“NodePort”和“externalIPs服务”将用户流量引入他们的集群这两种选项在生产环境中都有显著的缺点这使得裸金属集群在 Kubernetes 生态系统中成为二等公民。MetalLB 旨在通过提供一种可与标准网络设备集成的网络负载均衡器实现方案来纠正这种失衡使裸金属k8s集群上也能“开箱即用”地使用loadbalancer服务能力。MetalLB做了两个事情[3]地址分配controller 当创建loadbalancer类型的服务时MetalLb为其分配ip这个ip是从预先分配的ip地址池中获取的。 当服务删除时 已分配的ip也会被回收。对外广播speaker 给服务分配ip地址后要让集群外的网络知道这个地址的存在MetalLB使用了标准路由协议ARP、BGP。有两种模式L2、BGP 区别在于IP通告的方式不一样。Layer2模式一种基础、通用易用的实现但是有局限单点瓶颈和故障转移慢BGP模式有依赖有门槛尽量用用不了才用L2模式。注意MetalLB在安装时要先修改 kube-proxy配置[4]总结k8s 对外暴露服务的方式只有nodeport 和loadbalancerloadbalancer 可以是云上提供也可以是以软件负载均衡器MetalLB来自建-- MetalLB行为 从地址池分配IP给服务对外公告IPingress 本身不是一个对外暴露服务的方式它的重点是一个规则入口收敛了众多upstream的服务访问 它本身是一个 nginx svc故做成loadbalancer形式就做到了统一对外暴露upstream服务。参考资料[1]ingress nginx controller:https://docs.k0sproject.io/v1.35.2k0s.0/examples/nginx-ingress[2]MetalLB:https://metallb.io/[3]MetalLB做了两个事情:https://www.lixueduan.com/posts/cloudnative/01-metallb/[4]注意MetalLB在安装时要先修改 kube-proxy配置:https://metallb.io/installation/新来的外包限流算法用的这么6新来的外包在大群分享了它的限流算法的实现还有比ollama更傻瓜式的大模型本地部署方式吗 我不允许谁还不清楚function call在AI-Agent领域中打手的地位糟糕我实现的k8s informer好像是依托答辩云原生AI算力平台 阶段性解读两张大图一次性讲透k8s调度器工作原理在k8s调度的花园里面挖呀挖刚入职的AI菜鸡应该知道gang-scheduling和binpack调度吗本文文字原创搁笔常恐意味尽愿闻读者金玉声 ”永久更新“地址见原文。点“赞”戳“在看”

相关文章:

MetalLB才是给Ingress这个老登做负重前行的那个男人

前文ingress这个老6, 记录了我对于ingress-nginx的默认部署方式的认知:在集群内产生nginx服务,与集群内服务互访,利用nginx 走7层转发;产生的nginx服务对外以nodeport形式暴露。但是读者也发现了这种默认的ingress-ngi…...

FunClip:零门槛智能视频剪辑的AI增强指南

FunClip:零门槛智能视频剪辑的AI增强指南 【免费下载链接】FunClip Open-source, accurate and easy-to-use video clipping tool, LLM based AI clipping intergrated || 开源、精准、方便的视频切片工具,集成了大语言模型AI智能剪辑功能 项目地址: h…...

Cosmos-Reason1-7B工业质检应用:缺陷描述→逻辑归因→修复建议闭环工具

Cosmos-Reason1-7B工业质检应用:缺陷描述→逻辑归因→修复建议闭环工具 1. 工具简介 Cosmos-Reason1-7B工业质检工具是一款基于NVIDIA官方模型的本地推理系统,专门为工业质检场景设计。它能够理解缺陷描述、分析问题原因,并提供具体的修复建…...

HUNYUAN-MT 7B翻译效果深度评测:多领域文本翻译对比展示

HUNYUAN-MT 7B翻译效果深度评测:多领域文本翻译对比展示 最近试用了不少翻译模型,发现了一个挺有意思的现象:很多模型处理日常对话还行,但一遇到专业点的内容,翻译出来的东西就有点“词不达意”,要么术语翻…...

开源字体资源获取:EB Garamond 12复古字体的全面应用指南

开源字体资源获取:EB Garamond 12复古字体的全面应用指南 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 在数字设计领域,寻找兼具历史质感与现代适配性的字体始终是创意工作者的挑战。EB Garamond 1…...

Pixel Dimension Fissioner开源可部署:支持私有化部署,保障企业文本数据安全

Pixel Dimension Fissioner开源可部署:支持私有化部署,保障企业文本数据安全 1. 产品概述 Pixel Dimension Fissioner(像素语言维度裂变器)是一款基于MT5-Zero-Shot-Augment核心引擎构建的高端文本改写与增强工具。不同于传统AI…...

ssm+java2026年毕设师生疫情上报管理系统【源码+论文】

本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容进度安排:2023年8月23日-2023年9月18日 与指导老师进行沟通,确认选题并提交题目进行审核2023年9月19日-2023年10月…...

Flutter项目实战:如何用ZXingLite打造高定制化二维码扫描功能(附完整代码)

Flutter项目实战:如何用ZXingLite打造高定制化二维码扫描功能(附完整代码) 在移动应用开发中,二维码扫描功能已经成为许多应用的标配需求。然而,市面上大多数现成的Flutter二维码插件往往存在扩展性不足的问题&#xf…...

大数据领域数据工程的物联网数据处理

物联网数据处理:大数据时代的感知神经中枢 1. 引入与连接:当物理世界遇见数字海洋 想象一下,你清晨被智能闹钟唤醒,它根据你的睡眠数据和当天日程定制了唤醒时间;通勤路上,智能交通系统已根据数百万辆汽车的…...

Pixel Dimension Fissioner开发者案例:为内容SaaS平台嵌入像素化文本增强SDK

Pixel Dimension Fissioner开发者案例:为内容SaaS平台嵌入像素化文本增强SDK 1. 项目背景与核心价值 在内容创作领域,文本改写与增强工具已成为提升生产力的关键组件。传统AI工具往往过于功能化,缺乏创意激发和用户体验设计。Pixel Dimensi…...

LeRobot ACT实战:从源码到真机部署的保姆级教程(附ALOHA复现对比)

LeRobot ACT实战:从源码解析到真机部署的全链路指南 在机器人控制领域,动作序列预测一直是核心挑战之一。传统方法往往采用单步预测模式,导致动作连贯性不足,难以应对复杂任务场景。LeRobot ACT框架通过引入动作分块(…...

YOLO-V8.3镜像安全评测:非root用户部署实测,小白避坑指南

YOLO-V8.3镜像安全评测:非root用户部署实测,小白避坑指南 YOLO(You Only Look Once)作为计算机视觉领域的标杆算法,其最新版本YOLOv8在精度和速度上都有了显著提升。对于刚接触目标检测的开发者来说,使用预…...

SDXL 1.0电影级绘图工坊显存方案:梯度检查点+Flash Attention集成

SDXL 1.0电影级绘图工坊显存方案:梯度检查点Flash Attention集成 1. 项目概述 SDXL 1.0电影级绘图工坊是一个专为RTX 4090显卡优化的AI绘图工具,基于Stable Diffusion XL Base 1.0模型开发。该工具针对4090的24GB大显存进行了深度优化,通过…...

第3章 计算机进行小数运算时出错的原因总述|《程序是怎样跑起起来的》精读版

本文将延续 “从程序员视角理解底层逻辑” 的风格,围绕计算机小数运算出错的本质与解决方法,为你拆解第 3 章的核心脉络与认知价值。一、认知起点:为什么 0.1 累加 100 次得不到 10?本章开篇就用一个极具冲击力的现象打破直觉&…...

基于STM32的博物馆展柜环境闭环控制系统设计

1. 项目概述1.1 系统定位与工程目标博物馆文物展柜环境控制并非简单的参数监测任务,而是一项融合材料科学、热力学、嵌入式实时控制与人机交互的系统工程。本项目聚焦于中小型博物馆实际运维场景,以解决三类核心矛盾为出发点:人工巡检频次与环…...

CLIP图文匹配测试工具实战:上传商品图,自动匹配最佳描述文案

CLIP图文匹配测试工具实战:上传商品图,自动匹配最佳描述文案 1. 工具价值与核心功能 电商运营每天都要处理大量商品图片与文案的匹配工作,传统人工筛选效率低下且容易出错。这款基于CLIP-GmP-ViT-L-14模型的图文匹配测试工具,正…...

OFA图像描述模型惊艳案例:复杂场景与抽象艺术的理解与描述

OFA图像描述模型惊艳案例:复杂场景与抽象艺术的理解与描述 你有没有想过,让AI看一幅画,然后让它像一位艺术评论家那样,为你娓娓道来画中的故事与意境?这听起来像是科幻电影里的场景,但今天,OFA…...

Fun-ASR-MLT-Nano-2512惊艳效果:演唱会现场日语应援口号→实时中文字幕生成演示

Fun-ASR-MLT-Nano-2512惊艳效果:演唱会现场日语应援口号→实时中文字幕生成演示 安全声明:本文仅讨论技术实现与应用展示,所有内容均基于公开技术文档和测试数据,不涉及任何敏感信息。 1. 效果惊艳开场:从日语呐喊到中…...

Nanbeige 4.1-3B惊艳效果展示:黄金色强调色×森林绿贤者气泡动态生成实录

Nanbeige 4.1-3B惊艳效果展示:黄金色强调色森林绿贤者气泡动态生成实录 1. 复古像素风AI对话新体验 在当今AI交互界面普遍追求极简风格的趋势下,Nanbeige 4.1-3B带来了一股清新之风。这套专为4.1-3B模型设计的像素游戏风对话前端,将AI对话体…...

Qwen3-TTS-VoiceDesign实战教程:低代码平台(如Streamlit)快速封装VoiceDesign为SaaS服务

Qwen3-TTS-VoiceDesign实战教程:低代码平台(如Streamlit)快速封装VoiceDesign为SaaS服务 1. 为什么你需要一个语音设计SaaS服务 你有没有遇到过这些场景? 市场团队要为10个不同国家的广告视频配本地化配音,但外包周…...

终极RS ASIO教程:3个步骤让你的摇滚史密斯告别音频延迟

终极RS ASIO教程:3个步骤让你的摇滚史密斯告别音频延迟 【免费下载链接】rs_asio ASIO for Rocksmith 2014 项目地址: https://gitcode.com/gh_mirrors/rs/rs_asio 你是否曾经在弹奏《摇滚史密斯2014》时感到音符响应总慢半拍?那种音频延迟不仅影…...

使用STM32CubeMX配置口罩检测嵌入式系统

使用STM32CubeMX配置口罩检测嵌入式系统 1. 项目概述与环境搭建 今天咱们来聊聊怎么用STM32CubeMX快速搭建一个口罩检测的嵌入式系统。这个项目特别适合想要入门嵌入式AI的开发者,不需要深厚的机器学习背景,只要跟着步骤走,就能让STM32板子…...

Qwen-Image镜像开箱即用:无需pip install、conda install的纯推理工作流

Qwen-Image镜像开箱即用:无需pip install、conda install的纯推理工作流 1. 为什么选择这个定制镜像 如果你正在寻找一个能直接运行通义千问视觉语言模型(Qwen-VL)的环境,又不想花费大量时间配置各种依赖和驱动,这个RTX4090D专用的Qwen-Ima…...

UE5-MCP:AI驱动游戏开发的革命性突破

UE5-MCP:AI驱动游戏开发的革命性突破 【免费下载链接】UE5-MCP MCP for Unreal Engine 5 项目地址: https://gitcode.com/gh_mirrors/ue/UE5-MCP 你是否曾想过,用一句话描述就能生成完整的游戏场景?UE5-MCP(Model Control …...

智能体(Agent)系统核心:用GTE-Base-ZH实现工具语义检索

智能体(Agent)系统核心:用GTE-Base-ZH实现工具语义检索 你有没有遇到过这种情况?想让你的AI助手帮你订张机票,结果它跑去查了天气预报;或者让它分析一份销售报表,它却开始给你讲起了数据分析的…...

Qwen3-14B_int4_awq实战:用vLLM+Chainlit快速搭建本地AI助手

Qwen3-14B_int4_awq实战:用vLLMChainlit快速搭建本地AI助手 1. 引言 在当今AI技术快速发展的背景下,越来越多的开发者和企业希望将大语言模型集成到自己的应用中。然而,高昂的硬件成本和复杂的部署流程往往成为阻碍。本文将介绍如何使用 Qw…...

从C到汇编:深入理解Linux系统调用的底层实现原理

从C到汇编:深入理解Linux系统调用的底层实现原理 当你在C语言中调用write()函数向屏幕输出文字时,背后究竟发生了什么?这个看似简单的操作,实际上经历了一场从用户态到内核态的复杂旅程。本文将带你穿越高级语言与机器指令的边界&…...

Palworld跨平台存档迁移与游戏数据修复完全指南

Palworld跨平台存档迁移与游戏数据修复完全指南 【免费下载链接】palworld-host-save-fix 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-host-save-fix 在多人游戏体验中,跨平台存档迁移和游戏数据修复一直是玩家面临的核心挑战。本文将通过"…...

Flux.1-Dev深海幻境批量生成与处理:基于Python脚本的自动化流水线

Flux.1-Dev深海幻境批量生成与处理:基于Python脚本的自动化流水线 你是不是也遇到过这样的烦恼?手头有个项目,需要几十张、甚至上百张风格统一的图片素材,比如游戏里的道具图标、电商的商品配图,或者是一套社交媒体海…...

推荐系统必看:余弦距离和欧式距离在用户行为分析中的实战对比

推荐系统必看:余弦距离和欧式距离在用户行为分析中的实战对比 在构建现代推荐系统时,距离度量的选择往往决定了用户行为分析的精度和推荐质量。余弦距离和欧式距离作为两种最基础却最核心的相似度计算方法,各自适用于不同的数据特性和业务场…...