解决k8s通过traefik暴露域名失败并报错:Connection Refused的问题

news2024/11/18 3:41:08

我敢说本篇文章是网上为数不多的解决traefik暴露域名失败问题的正确文章。

我看了网上太多讲述traefik夸夸其谈的文章了,包含一大堆复制粘贴的水文和还有什么所谓“阿里技术专家”的文章,讲的全都是错的!基本没有一个能说到点子上去! 所以这些垃圾文章导致你最后配置ingress规则以后,访问域名还是会报错: Connection Refused

你所看到的这些水文就是把官方或者网上互相抄来抄去的文章,拿来复制粘贴一大片代码,不知所云,完全就是流水账!

我们要明白解决问题的关键,在于分析问题的思考模式和分析过程!这个非常重要!

然后回到开头,为什么会出现Connection Refused错误,我们不考虑什么所谓的k8s和traefik这些杂七杂八的东西,而是回归到网络的本质中去!

这种情况只有一种可能: 端口可能根本就没有监听!

对了,这就是问题的关键!

所以,因为k8s的部署是容器网络,容器的端口默认是不对外暴露的,所以即便deployment部署了,如果没有没有暴露端口,就等同于没有监听端口,此时访问域名就必然是Connection Refused!

有人说:那你配置service不就完了。service再搞个NodePort不就完了!

那我问你NodePort的端口是多少!是30000-32767! 这玩意能用吗?!

所以注意了:对于traefik来说:service不是对外提供服务的,它是被k8s集群内部所调用的,特别是为ingress服务!

我们始终要记住网络的基本原则:一个请求进来,服务器必须对它所请求的端口有监听,否则就会产生Connection Refused错误

这是第一个问题。

然后第二个问题: 域名怎么解析。或者说ingress规则中host中的域名应该解析到哪一台机器?

大家有没有想过这个问题? 给你10秒钟好好想一想

。。。。。。。。。。。。。

时间到了! 有没有一点idea。 作为一个常识,我们应该不会想到这个域名必须绑定到其中某一台机器吧,对不对,否则就失去了做集群的必要性了!

我们需要的是一种集群边缘触发方式,也就是说把访问域名解析到集群中的任意一台机器

所以,这里要严厉批判traefik官方文档! traefik官方文档简直就是胡说八道!竟然把deployment搞进来了!  deployment是啥玩意? 说到底它就是一个动态的东西,通过deployment生成的pod,你根本没法知道:它会分配到哪一台机器。 这他妈不是坑爹吗? 那么我现在没法知道traefik controller pod具体在哪一台机器,我怎么做域名解析? 难道我通过kubectl get pods 命令获取到了traefik controller pod的信息,然后知道了它在哪台机器,然后把域名解析到这台机器。但是如果后来删除了deployment,又重新部署了分配了新的pod, 这种情况怎么办?

这样的运作规则跟集群边缘触发方式完全是互相矛盾的!

我们需要的是:每一台机器都能有traefik controller pod,这个只有DaemonSet能满足!因为DaemonSet可以确保在每个节点上都运行一个Pod的副本

好了,知道了原因,我来谈谈怎么解决这个问题:

1. traefik controller 的部署方式必须DaemonSet.

2. traefik controller的80端口必须通过hostPort暴露出来:

3. ingress规则中的域名执行k8s集群中任何一台机器就ok了

最后谈一点:ingress规则中的namespace必须跟它后面路由转发的service的namespace保持一致

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

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

相关文章

用LLM生成反驳:首先洞察审稿人的心理,再巧妙回应!

深度学习自然语言处理 原创作者:Winnie 在科研领域,同行评审(review-rebuttal)是保证学术质量的关键环节。这一过程中的辩论和反驳非常具有挑战性。传统的同行评审生成任务通常集中在表面层面的推理。 研究人员发现,考虑论点背后的态度根源和…

aliyun Rest ful api V3版本身份验证构造

aliyun Rest ful api V3版本身份验证构造 参考官网:https://help.aliyun.com/zh/sdk/product-overview/v3-request-structure-and-signature?spma2c4g.11186623.0.0.787951e7lHcjZb 构造代码 :使用GET请求进行构造,算法使用sha256 使用postm…

多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测

多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考…

Python安装第三方库出错完美解决方法

错误 Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PILTry to run this command from the system terminal. Make sure that you use the correct version of pip installed for your Pyth…

Linux:给openlab搭建web网站

httpd服务器建立综合练习 建立网站需求: 1.基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站, (1)、基于 www.openlab.com/stud…

使用Pandas进行数据读写的简易教程

Pandas是一个功能强大且广泛使用的Python库。它提供了一种简单而灵活的方式来读取和写入各种数据格式,包括CSV、Excel、SQL数据库等。本文将介绍如何使用Pandas进行数据的读取和写入操作,帮助你快速上手并高效地处理数据。 一、安装和导入pandas 首先&…

Linux软硬链接

文章目录 🐋1. 建立软硬链接现象🐠2. 软硬链接🪸2.1 软链接🪸2.2 硬链接 🐦3. 应用场景🪹3.1 软链接应用场景🪹3.2 硬链接应用场景 🐋1. 建立软硬链接现象 我们这里给file.txt建立软…

CH12_处理继承关系

函数上移(Pull Up Method) 反向重构:函数下移(Push Down Method) class Employee {/*...*/} class Salesman extends Employee {get name() {/*...*/} } class Engineer extends Employee {get name() {/*...*/} }cla…

AI数字员工创新工作模式丨市女协走进实在智能,沉浸体验RPA Agent智能魅力

11月10日,杭州市女企业家协会组织走进副会长张军燕企业——杭州实在智能科技有限公司,开展“领跑AI时代,做先进企业”人工智能沙龙活动。 本次沙龙是一场真正关注最前沿AI大模型与RPA自动化技术、寻找企业确定性增长的科技盛宴,也…

《深入浅出.NET框架设计与实现》阅读笔记(四)

静态文件系统 通过ASP.NET Core 提供的静态文件模块和静态文件中间件,可以轻松的让应用程序拥有访问静态文件的功能,同时可以基于IFileProvider对象来自定义文件系统,如基于Redis做扩展文件系统 启动静态文件服务 在Program.cs 类中&#x…

Fedora Linux 39 正式版官宣 11 月 发布

导读Fedora Linux 39 正式版此前宣布将于 10 月底发布,不过这款 Linux 发行版面临了一些延期,今天开发团队声称,Fedora Linux 39 正式版将于 11 月 7 日发布。 过查询得知,在近日的 "Go / No-Go" 会议上,开…

国产企业级低代码开发哪个最好?这一款超好用

低代码开发平台(Low-code Development Platform)正在迅速崛起,成为未来软件技术发展的主导趋势。通过使用低代码开发平台,企业能够显著提高开发效率,降低对专业开发人员的依赖,并实现更快速的软件交付和使用…

【从删库到跑路】MySQL数据库 | 全局锁 | 表级锁 | 行级锁

文章目录 🌹简述🎄全局锁⭐数据备份🎈设置全局锁🎈对表进行备份🎈释放锁 🎄表级锁🛸表锁⭐读锁⭐写锁 🛸元数据锁🛸意向锁⭐意向共享锁⭐意向排他锁 🎄行级锁…

某头部通信企业:SDLC+模糊测试,保障数实融合安全发展

某头部通信企业是全球领先的综合通信信息解决方案提供商,为全球电信运营商、政企客户和消费者提供创新的技术与产品解决方案。该企业持续关注核心技术攻关,深入打造系列化标杆项目和价值场景,加强数字化平台的推广应用,加快共建开…

蓝桥杯每日一题2023.11.15

题目描述 此处的快速排序有一个思想:以一个数x来判定这l至r区间的数的大小,如果a[l]小于x就与右侧的a[r]交换,最后x可以将这个区间的数进行一分为二。填空出就是已经将x移动到左部分和右部分之间,来确定二分的一个界点 答案&…

大模型在数据分析场景下的能力评测|进阶篇

做数据分析,什么大模型比较合适? 如何调优大模型,来更好地做数据计算和洞察分析? 如何降低整体成本,同时保障分析体验?10月25日,我们发布了数据分析场景下的大模型能力评测框架(点击…

NovelD: A Simple yet Effective Exploration Criterion论文笔记

NovelD:一种简单而有效的探索准则 1、Motivation 针对稀疏奖励环境下的智能体探索问题,许多工作中采用各种内在奖励(Intrinsic Reward)设计来指导困难探索环境中的探索 ,例如: ICM:基于前向动力学模型的好奇心驱动探索RND&…

外贸客户管理系统是什么?推荐的管理软件?

外贸客户管理系统哪个好用?海洋建站如何选管理系统? 外贸客户管理系统,是一款专为外贸企业设计的客户关系管理系统,旨在帮助外贸企业建立与维护客户关系,提高客户满意度和忠诚度,提升企业业绩。海洋建站将…

机器学习-搜索技术:从技术发展到应用实战的全面指南

在本文中,我们全面探讨了人工智能中搜索技术的发展,从基础算法如DFS和BFS,到高级搜索技术如CSP和优化问题的解决方案,进而探索了机器学习与搜索的融合,最后展望了未来的趋势和挑战,提供了对AI搜索技术深刻的…

属兔人连续两年不顺,运势低迷要化解

属兔人为人生性浪漫,有着美好憧憬, 与人相处的时候总是谦和待人,不会随便发脾气, 也不喜欢与人发生争执,不善于算计别人。 对于自己的另一半,是一个很温暖的人,为人细腻,并且懂得体谅…