解决公网下,k8s calico master节点无法访问node节点创建的pod
目的:解决pod部署成功后,只能在node节点访问,而master节点无法访问
原因:集群搭建时,没有配置公网进行kubectl操作,从而导致系统默认node节点,使用内网IP加入k8s集群!如下:

解决方案:围绕公网IP进行搭建即可,其实就是在传统的搭建步骤下,给master节点和node节点添加下公网网卡就可以了
1、机器IP清单
- 我的两台服务器的都是云服务器
- 我的master节点IP为111.230开头的
- 我只有一个node节点,IP为192.168.9.96(该IP与calico网段冲突)
2、重置master节点的kubeadm
kubeadm reset
3、在master节点上创建公网的虚拟网卡
- 看一下你的公网IP是否在机器中存在
ip a | grep 你的公网IP
- 如果没有就执行下面这段代码新增一个和公网IP一样的虚拟网卡IP
cat > /etc/sysconfig/network-scripts/ifcfg-eth0:1 <<EOF
BOOTPROTO=static
DEVICE=eth0:1
IPADDR=111.230.19.178 #这里是你的公网IP
PREFIX=32
TYPE=Ethernet
USERCTL=no
ONBOOT=yes
EOF
- 重置网络
systemctl restart network
重置失败就直接去重启电脑就可以了
4、初始化master主节点
- 注意pod的网络范围为172.17.0.0/16,因为我有一台机器是192.168开头的
kubeadm init \
--apiserver-advertise-address=111.230.19.178 \
--control-plane-endpoint=cluster-endpoint \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=172.17.0.0/16
初始化成功后的日志:
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:kubeadm join cluster-endpoint:6443 --token wxt6jz.xf9g3va8xpggfoc9 \
--discovery-token-ca-cert-hash sha256:2326cb4e54fe2fd92d112e01d1caf3e58735665e480f3d5aa364d47e52088b7c \
--control-planeThen you can join any number of worker nodes by running the following on each as root:
kubeadm join cluster-endpoint:6443 --token wxt6jz.xf9g3va8xpggfoc9 \
--discovery-token-ca-cert-hash sha256:2326cb4e54fe2fd92d112e01d1caf3e58735665e480f3d5aa364d47e52088b7c
5、修改calico.yaml中的网段

搜索:192.168

取消注释,并修改网段:
- 与步骤3中的pod-network-cidr保持一致

6、kubectl应用calico

7、重置node节点
kubeadm reset
8、在node节点上创建公网的虚拟网卡
- 看一下你的公网IP是否在机器中存在
ip a | grep 你的公网IP
- 如果没有就执行下面这段代码新增一个和公网IP一样的虚拟网卡IP
cat > /etc/sysconfig/network-scripts/ifcfg-eth0:1 <<EOF
BOOTPROTO=static
DEVICE=eth0:1
IPADDR=139.159.228.xx #这里是你的公网IP
PREFIX=32
TYPE=Ethernet
USERCTL=no
ONBOOT=yes
EOF
- 重置网络
systemctl restart network
重置失败就直接去重启电脑就可以了
9、去node节点重新加入到k8s集群
- 这里一点要把行前的空格去掉!
kubeadm join cluster-endpoint:6443 --token wxt6jz.xf9g3va8xpggfoc9 \
--discovery-token-ca-cert-hash sha256:2326cb4e54fe2fd92d112e01d1caf3e58735665e480f3d5aa364d47e52088b7c

使用docker ps查看正在运行的容器:
发现node节点的calico正常运行了:

10、在主节点检查pod信息
在master节点执行:
kubectl get pod -A -owide

- node节点上的pod已经全部变为外网IP了,master节点也能正常访问node节点上的pod
11、验证
验证master节点是否能正常访问node节点
直接在步骤10中,找一个node上的pod访问即可,如(上面如标框框的一个):
kubectl logs calico-node-rs4hj -n kube-system

相关文章:
解决公网下,k8s calico master节点无法访问node节点创建的pod
目的:解决pod部署成功后,只能在node节点访问,而master节点无法访问 原因:集群搭建时,没有配置公网进行kubectl操作,从而导致系统默认node节点,使用内网IP加入k8s集群!如下ÿ…...
六边形架构
Alistair Cockburn是于1953年出生在美国的一位软件开发方法学家。他毕业于康奈尔大学计算机科学专业,并获得了博士学位。 Cockburn在敏捷软件开发领域做出了许多重要的贡献,他被广泛认可为敏捷方法学的奠基人之一。他提出了许多关于敏捷开发的原则和实践…...
基于单片机的智能家居安保系统(论文+源码)
1.系统设计 本次基于单片机的智能家居安保系统设计,在功能上如下: 1)以51单片机为系统控制核心; 2)温度传感器、人体红外静释电、烟雾传感器来实现检测目的; 3)以GSM模块辅以按键来实现远/近程…...
盘点3种Python网络爬虫过程中的中文乱码的处理方法
网络爬虫过程中三种中文乱码的处理方案,希望对大家的学习有所帮助 一、思路 其实解决问题的关键点就是在于一点,就是将乱码的部分进行处理,而处理的方案主要可以从两个方面进行出发。其一是针对整体网页进行提前编码,其二是针对…...
小程序富文本图片大小问题
文章目录 概要uniapp小程序情况解决方法及完整示例 概要 在小程序使用富文本或者在nuiapp(小程序的)使用富文本都会转为 <rich-text nodes"<p class"p class">内容</p>”></rich-text>如果是这种情况的话在css…...
Diagrams——制作短小精悍的流程图
今天为大家分享的是一款轻量级的流程图绘制软件——Diagrams。 以特定的图形符号加上说明,表示算法的图,称为流程图或框图。流程图是流经一个系统的信息流、观点流或部件流的图形代表。我们常用流程图来说明某一过程。 流程图使用一些标准符号代表某些类…...
Elasticsearch基础条件查询
条件查询 query:查询 match:匹配 match_all:匹配所有 #第一种 GET /shopping/_search?q名字:张三#第二种 GET /shopping/_search {"query": {"match": {"名字": "张三"}} }#全量查询 match_all G…...
【SAP-ABAP】SAP与外围系统对接方式
SAP作为接受方 1.JAVA直接配置IP、账号、密码(有些人叫SAPWEBAPI)调用SAP里面的RFC函数 2.SAP发布RFC函数,配置webservice地址 3.SAP发布ODATA服务 4.SAP发布restful的http服务 5.我不太懂的UI5和FIORI本质好像也是odata服务 6.IDOC SA…...
云计算的发展趋势
云计算的发展一直是一个极具活力和创新的领域。随着技术的不断进步和应用场景的拓展,云计算将在未来继续发挥重要作用。以下是云计算发展的一些趋势: 边缘计算的崛起: 随着物联网设备的普及和应用场景的增多,边缘计算成为一个重要…...
国民技术Cortex-M0系列单片机IAP升级
考虑到设备部署到现场后有可能需要进行软件升级,之前做过PIC系列单片机的升级,现在想做个国民技术N32G031系列Cortex-M0内核的单片机IAP方案。 因为国民技术系列单片机在很多大程度上都模仿了STM32,所以我想其升级方案极有可能差不多。于是在…...
Pycharm中添加Python库指南
一、介绍 Pycharm是一款为Python开发者提供的集成开发环境(IDE),支持执行、调试Python代码,并提供了许多有用的工具和功能,其中之一就是在Pycharm中添加Python库。 添加Python库有许多好处,比如能够增加开…...
Oracle OCP / MySQL OCP认证容易通过吗
诸多学员在首次考OCP时,不清楚要如何选择。在本文中,我会为大家进行讲解! 选择OCP认证时需要考虑的几大项目: 授课老师师资经验 课程大纲 试听课程 考试通过率 业界口碑 服务质量 郭一军老师的OCP培训在业界培训的学员中已…...
flutter web 中嵌入一个html
介绍 flutter web 支持使用 HtmlElementView嵌入html import dart:html; import dart:ui as ui; import package:flutter/cupertino.dart;class WebWidget extends StatelessWidget {const WebWidget({super.key});overrideWidget build(BuildContext context) {DivElement fr…...
使用Spark SQL读取阿里云OSS的数据
读OSS数据 创建一个table,并关联OSS目录路径 CREATE TABLE my_table USING parquet OPTIONS (path oss://my_bucket/my_data_dir/dt20230904, -- 关联OSS路径header true, -- 如果Parquet文件包含列名的头部信息,则设置为true,否则设置为f…...
【0235】修改私有内存(private memory)中的MyBEEntry时,st_changecount值前后变化
上一篇: 【0234】PgBackendStatus 记录当前postgres进程的活动状态 1. pg_stat_activity中xxx实时信息如何实现? 客户端(eg:psql)在连接上postmaster之后,postmaster守护进程会fork()一个后端进场(backend process),之后此客户端的所有操作、交互均有此对应的Backen…...
Linux学习命令之source
在Linux中,source命令用于在当前shell环境中执行指定脚本文件中的命令。它通常用于重新加载修改过的shell配置文件,例如.bashrc或.profile,以使更改生效,而不需要退出当前的shell会话。 使用方法为: source 文件路径…...
2342. 数位和相等数对的最大和
我的解法: 对数组进行排序,最大数一定最先进入哈希表进行加和 class Solution { public:int maximumSum(vector<int>& nums) {unordered_map<int, vector<int>> h;int ans -1;sort(nums.begin(), nums.end());for (int i nums.…...
FISCO BCOS 3.0【01】搭建第一个区块链网络
官方技术文档:https://fisco-bcos-doc.readthedocs.io/zh-cn/latest/index.html 我们在官方技术文档的基础上,进行,对文档中一些不清楚的地方进行修正 搭建Air版本FISCO BCOS联盟链 本节以搭建单群组FISCO BCOS链为例操作,使用开…...
UE4动作游戏实例RPG Action解析四:装备系统
导语: 以加血道具为例,详细分析拆解ActionRPG的装备系统,包含装备系统需求和数据结构设计,以及实现 一、装备系统需求: 装备槽: 已获取装备和未获取装备: 当已经装备一个道具时,再次捡到道具,会把道具放在装备库,不会放在装备槽中, 当没有装备道具时,会拾取道具…...
AIGC之Stable Diffusion
AIGC是什么? AIGC:Artificial Intelligence Generated Content,生成式人工智能。通俗一点来讲,对AI下达指令任务,通过处理人的自然语言,自动生成图片、视频、音频等等。 Stable Diffusion 官网:https://stablediffusionweb.com/ 介绍:stablediffusionweb.com is an eas…...
基于python的一线式酒店管理系统
目录 同行可拿货,招校园代理 ,本人源头供货商功能模块设计技术实现要点扩展功能建议异常处理机制 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 同行可拿货,招校园代理 ,本人源头供货商 功能模块设计 前台管理模块 客房预…...
论计算机科学的本质是什么?编程么?
计算机科学的本质不是编程。编程只是实现计算机科学思想的工具和手段,而非其内核。计算机科学的核心是“计算”与“问题求解”计算机科学(Computer Science, CS)本质上是一门研究信息与计算的理论基础,以及如何通过算法高效、可靠…...
Qwen3.5-9B-AWQ-4bit实战教程:用‘概括最重要信息’提示词压缩冗余输出
Qwen3.5-9B-AWQ-4bit实战教程:用"概括最重要信息"提示词压缩冗余输出 1. 认识Qwen3.5-9B-AWQ-4bit模型 Qwen3.5-9B-AWQ-4bit是一个强大的多模态AI模型,它能同时理解图片和文字。想象一下,你给这个AI看一张照片,然后问…...
3个核心模块揭秘:Python量化投资如何免费获取通达信专业数据
3个核心模块揭秘:Python量化投资如何免费获取通达信专业数据 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 你是否在量化投资中为数据获取而烦恼?商业接口太贵,…...
【vue】二、vue2仿去哪儿网app——首页开发实战:从零搭建到性能优化
1. 项目初始化与页面结构设计 开始一个Vue2仿去哪儿网App首页项目,首先要搭建基础框架。我习惯用vue-cli脚手架快速初始化项目,这个工具能帮我们处理好webpack配置、基础目录结构等繁琐工作。执行vue init webpack qunar-app命令后,会生成标…...
Qwen-Image-2512图片生成服务:支持多种宽高比,满足不同场景需求
Qwen-Image-2512图片生成服务:支持多种宽高比,满足不同场景需求 1. 引言:为什么宽高比如此重要? 在数字内容创作领域,图片的宽高比往往决定了它的最终用途。一张构图精美的图片,如果比例与展示平台不匹配…...
保姆级教程:NotaGen一键部署,小白也能生成贝多芬风格交响乐
保姆级教程:NotaGen一键部署,小白也能生成贝多芬风格交响乐 1. 引言:AI音乐创作新体验 你是否曾经梦想过创作一首属于自己的交响乐?现在,NotaGen让这个梦想变得触手可及。这个基于大语言模型(LLM)的音乐生成工具&…...
知乎上线求职工具,助力毕业生破困局
知乎上线求职利器,直击毕业生痛点2026届全国普通高校毕业生预计达1270万人,再创历史新高。与此同时,AI技术加速行业重构,部分传统岗位需求收缩,大量毕业生陷入“海投”困境,难以精准定位自身。在此背景下&a…...
AI赋能:让快马平台解析21届智能车赛规则并生成智能算法代码
最近在准备21届智能车比赛时,发现今年的赛道规则特别复杂,各种新加入的元素和评分标准让人有点头大。正好尝试用InsCode(快马)平台的AI辅助开发功能来帮忙解析规则并生成算法代码,整个过程意外地顺利,分享下具体实现思路。 规则文…...
挖到宝!阿贝云免费云服务太香了,学生党开发者闭眼冲
做个人博客、练技术、部署轻量应用还在找高性价比云服务?阿贝云https://www.abeiyun.com 直接把免费做到极致,免费虚拟主机 免费云服务器双福利,用下来的体验真的远超预期,稳定不卡顿还免备案,新手操作也毫无门槛太省…...
