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

kubernetes内外网通信-集群外节点访问 pod ip

一、路由

1-1静态路由方案

vi /etc/sysconfig/network-scripts/route-ens33
10.244.235.0/24 via 192.168.200.10 dev ens33
systemctl restart network

192.168.200.10 是k8s节点的ip,它是进该网段的网关

route print

1-2同步calico路由方案:calico-route-sync
同网络下,k8s 集群外的节点同步 calico 路由信息,以直接访问 pod ip
在这里插入图片描述

bin:

sudo ./calico-route-sync --kubeconfig=/home/root/.kube/config
docker:docker run --rm -it --network=host --cap-add NET_ADMIN -v ~/.kube/config:/root/config q946666800/calico-route-sync:0.1 --kubeconfig=/root/config

注意:
使用场景比较有限,仅支持 calico ,且 vm-01 与 k8s 节点处于同一网络。

优点是简单、高效、稳定(类似 Calico 节点)。流量直接从 vm-01 流向 k8s 节点,无需经过其他路由器或隧道。

如果您希望 vm-01 可以处于不同的网络中,可以使用项目k8s-tun。

二、隧道 :K8S-tun

k8s 集群外的节点访问 pod ip, service ip。
tun设备封装协议包 通过隧道传输,到达目的tun设备解包
在这里插入图片描述
用法
服务端

kubectl apply -f https://raw.githubusercontent.com/yzxiu/k8s-tun/master/deploy.yaml

客户端
Linux & Mac
download client

wget https://github.com/yzxiu/k8s-tun/releases/download/0.86-3/client-darwin-amd64-086-3
chmod +x client-linux-amd64-086-3

start client

sudo ./client-linux-amd64-086-3 -s <k8s-node-ip>:30011

Windows

download client-windows-amd64-086-3.exe
install the attached tap-windows-9.24.2-I601-Win10 driver
right click client-windows-amd64-086-3.exe and run as administrator

注意
优点:理论上支持所有 cni 插件,vm-01 可以与 k8s 集群处于不同网络,使用比较灵活。客户端无需配置 kubeconfig

缺点:流量通过隧道传输(类似于 openvpn),效率较低。

相关文章:

  • k8s二进制及负载均衡集群部署详解
  • grafana安装DevOpsProdigy KubeGraf 1.5.2
  • 协作办公开源神器:ONLYOFFICE
  • BrainAGE作为大脑老化的神经影像标志物的十年
  • 微信小程序for循环嵌套
  • css3 属性 backface-visibility 的实践应用
  • map和set封装
  • unity addressables 加载资源和场景 显示进度条(主要用于WebGL)
  • postman之接口参数签名(js接口HMAC-SHA256签名)
  • PyTorch的nn.Module类的详细介绍
  • 【JavaEE进阶】 图书管理系统开发日记——贰
  • 正点原子--STM32中断系统学习笔记(2)
  • 【笔记】SPN和PLMN 运营商网络名称显示
  • 001集—shapefile(.shp)格式详解——arcgis
  • 面试中问到的算法题。————目录树生成
  • Google 是如何开发 Web 框架的
  • 「译」Node.js Streams 基础
  • Bootstrap JS插件Alert源码分析
  • JavaScript创建对象的四种方式
  • linux安装openssl、swoole等扩展的具体步骤
  • Logstash 参考指南(目录)
  • Vue2 SSR 的优化之旅
  • Vue2.0 实现互斥
  • vue2.0项目引入element-ui
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • windows下如何用phpstorm同步测试服务器
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于 Babel 的 npm 包最小化设置
  • 判断客户端类型,Android,iOS,PC
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 通过npm或yarn自动生成vue组件
  • 系统认识JavaScript正则表达式
  • 一天一个设计模式之JS实现——适配器模式
  • 如何在招聘中考核.NET架构师
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​ssh免密码登录设置及问题总结
  • #ifdef 的技巧用法
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Matlab)使用竞争神经网络实现数据聚类
  • (二十三)Flask之高频面试点
  • (黑马C++)L06 重载与继承
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)Neo4j下载安装以及初次使用
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET MVC 验证码
  • .net6 webapi log4net完整配置使用流程
  • .NET6 命令行启动及发布单个Exe文件
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET分布式缓存Memcached从入门到实战
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter