Kubernetes pod ip 暴露

在这里插入图片描述

1. k8s pod 和 service 网络暴露

  • 借助 iptables 的路由转发功能,打通k8s集群内的pod和service网络,与外部网络联通
# 查看集群的 pod 网段和 service 网段
kubectl -n kube-system describe cm kubeadm-config
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12

# 内核模块
sysctl -a | grep 'net.ipv4.ip_forward = 1'
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

# 在k8s节点 192.168.1.79 节点上开启转发 192.168.0.0/16 网段为服务器网段,利用 192.168.0.0/16 网段某个服务器作为路由器
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 10.244.0.0/16
iptables -t nat -A POSTROUTING -s 192.168.0.0/16  -o eth0 -j SNAT --to-source 10.96.0.0/12

# 这个不确定是否执行
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE

# 测试,在 192.168.0.0/16 网段中找一个非k8s集群的服务器,加上路由,进行测试
# 现找个pod ip ping一下是否通不通
route add -net 10.244.0.0 netmask 255.255.0.0 gw 192.168.1.79 dev eth0
# 加上这个路由之后, 再测试看是否通

# 为了能让办公人员的浏览器可以访问到, 需要再核心交换机上配置规则
# 核心交换机
route add -net 10.244.0.0 netmask 255.255.0.0 gw 192.168.1.79 dev eth0
route add -net 10.96.0.0 netmask 255.240.0.0 gw 192.168.1.79 dev eth0
  • nginx demo
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-aa
spec:
  replicas: 1
  selector:
    matchLabels:
      app: aa
  template:
    metadata:
      labels:
        app: aa
    spec:
      containers:
      - name: nginx-aa
        image: nginx
        volumeMounts:
        - mountPath: /etc/nginx/conf.d/
          name: nginx-aa
      volumes:
      - configMap:
          name: nginx-aa
        name: nginx-aa
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-bb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: bb
  template:
    metadata:
      labels:
        app: bb
    spec:
      containers:
      - name: nginx-bb
        image: nginx
        volumeMounts:
        - mountPath: /etc/nginx/conf.d/
          name: nginx-bb
      volumes:
      - configMap:
          name: nginx-bb
        name: nginx-bb
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-aa
spec:
  type: ClusterIP
  ports:
    - port: 80
  selector:
    app: aa
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-bb
spec:
  type: ClusterIP
  ports:
    - port: 80
  selector:
    app: bb
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-demo
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  #ingressClassName: nginx
  rules:
  - host: jin.yeemiao.net.cn
    http:
      paths:
      - backend:
          service:
            name: nginx-aa
            port:
              number: 80
        path: /aa/
        pathType: Prefix
      - backend:
          service:
            name: nginx-bb
            port:
              number: 80
        path: /bb/
        pathType: Prefix
  tls:
  - hosts:
    - jin.yeemiao.net.cn
    secretName: yeemiao.net.cn
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-aa
data:
  default.conf: |
    server{
        listen       80; 
            server_name  localhost;
            location /aa/ {
               proxy_pass http://192.168.1.181:8888/;
                 }
    }
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-bb
data:
  default.conf: |
    server{
        listen       80;
            server_name  localhost;
            location /bb/ {
               proxy_pass http://192.168.1.181:8889/;
                 }
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka收发消息核心参数详解

文章目录 一、从基础的客户端说起消息发送者主流程消息消费者主流程 二、从客户端属性来梳理客户端工作机制消费者分组消费机制生产者拦截器机制消息序列化机制消息分区路由机制生产者消息缓存机制发送应答机制生产者消息幂等性生产者消息事务 三、客户端流程总结四、SpringBoo…

ubuntu20.04下安装pcl_ubuntu安装pcl

pcl点云数据库,用来进行3D信息的获取与处理,和opencv相比较,opencv是用来处理二维信息,他是学术界与工业界针对点云最全的库,且网络上相关的资料很多。以下是pcl的安装步骤以及遇到的问题。 提前说明,本人…

算法基础之表达整数的奇怪方式

表达整数的奇怪方式 中国剩余定理: 求M 所有m之积 然后Mi M / mi x 如下图 满足要求 扩展中国剩余定理 找到x **使得x mod mi ai**成立 对于每两个式子 都可以推出①式 即 用扩展欧几里得算法 可以算出k1,-k2和m2–m1 判无解 : 若**(m2–m1) % d ! 0** 说明该等式无解 …

无约束优化问题求解(3):共轭梯度法

目录 4. 共轭梯度法4.1 共轭方向4.2 共轭梯度法4.3 共轭梯度法的程序实现4.4 非二次函数的共轭梯度法 Reference 4. 共轭梯度法 4.1 共轭方向 最速下降法的线搜索采取精确线搜索时,由精确线搜索需要满足的条件:迭代点列 x k 1 x k α k d k x_{k1}…

Java中使用JTS实现WKB数据写入、转换字符串、读取

场景 Java中使用JTS实现WKT字符串读取转换线、查找LineString的list中距离最近的线、LineString做缓冲区扩展并计算点在缓冲区内的方位角: Java中使用JTS实现WKT字符串读取转换线、查找LineString的list中距离最近的线、LineString做缓冲区扩展并计算点在缓冲区内…

MFC静态链接+libtiff静态链接提示LNK2005和LNK4098

编译报错 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_infoAAEABV0Z) 已经在 libcmtd.lib(typinfo.obj) 中定义 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "pr…

电子说明书制作:零基础也可以轻松上手

引言: 在数字化时代,电子说明书成为了传统纸质说明书的现代替代品。电子说明书具有可交互性、易更新、环保等优势,越来越受到企业和个人的青睐。本文将介绍一些简单易用的工具和方法,帮助零基础的用户轻松上手电子说明书的制作。…

Sui 生态排名第一的头部流动性协议 NAVI Protocol 活动进行中

作为在熊市中启动的新生公链,Sui 正在稳步崛起。公链的 TVL 持续攀升,目前已经达到了 1.76亿美元,闯入了公链排名前20榜单。仅过去四个月内,TVL 增加了10倍,并且增长仍在继续,SUI 的价格在近期也有了很亮眼…

智能优化算法应用:基于瞬态优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于瞬态优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于瞬态优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.瞬态优化算法4.实验参数设定5.算法结果6.…

网络调优,部署内网备份冗余和负载分担---实验

目录 网络调优,部署内网备份冗余和负载分担---实验 拓扑 需求 配置步骤: 配置命令: 网络调优,部署内网备份冗余和负载分担---实验 拓扑 需求 主机获取IP地址,访问WEB服务器,WEB服务器网关在SW5上SW5作为VLAN10,V…

Qt配置opencv,cmake编译参考笔记,已成功

Qt版本:Qt5.14.2 opencv:4.5.4(不要用4.5.5!!很坑别问我为什么知道) cmake:下的最新版本 前言:为什么非得要用cmake编译呢?跳过cmake不好吗? 之前用的opencv…

PS里面怎么提取图上要的颜色然后用到另一个部位去

PS里面要提取图上要的颜色然后用到另一个部位去,具体步骤如下: 在ps里打开特定的图像文件; 想要提取图上的哪个颜色,就使用”吸管工具“在图上特定的位置上点击一下,就会看到前景色变成了相应的颜色; 然…

web网页端使用webSocket实现语音通话功能(SpringBoot+VUE)

写在前面 最近在写一个web项目,需要实现web客户端之间的语音通话,期望能够借助webSocket全双工通信的方式来实现,但是网上没有发现可以正确使用的代码。网上能找到的一个代码使用之后只能听到“嘀嘀嘀”的杂音 解决方案:使用Jso…

vue之router-link页面跳转及传参

文章目录 vue之router-link页面跳转及传参根据路由的路径跳转及传参(query)根据路由的名称跳转及传参(params)根据store传参 vue之router-link页面跳转及传参 <router-link> 是用于在 Vue.js 应用程序中进行路由导航的组件。它可以用来生成具有正确链接的<a> 标签…

我的应用我做主:扩展线程池

自定义线程创建&#xff1a;ThreadFactory 线程池中的线程是从哪里来的呢&#xff1f; ThreadPoolExecutor(int corePoolSize,//指定了线程池种的线程数量 int maximumPoolSize,//指定了线程池中的最大线程数量。 long keepAliveTime,// 当线程池数量超过了corePoolSize&#x…

【电路笔记】-串联电容器

串联电容器 文章目录 串联电容器1、概述2、示例13、示例34、总结 当电容器以菊花链方式连接在一条线上时&#xff0c;它们就串联在一起。 1、概述 对于串联电容器&#xff0c;流过电容器的充电电流 ( i C i_C iC​ ) 对于所有电容器来说都是相同的&#xff0c;因为它只有一条…

在x64上构建智能家居(home assistant)(二)(新版Debain12)连接Postgresql数据库

新版数据库安装基本和旧版相同,大部分可以参考旧版本在x64上构建智能家居(home assistant)&#xff08;二&#xff09;连接Postgresql数据库_homeassist 数据库-CSDN博客 新版本的home assistant系统安装,我在原来写的手顺上直接修改了,需要的可以查看在x64上构建智能家居(home…

心有暖阳,笃定前行,2024考研加油

2024考研学子&#xff0c;所有的付出终有收获&#xff0c;阳光终将穿透阴霾&#xff0c;终将上岸。 当曙光破晓的时候&#xff0c;你可曾记得那些星月为伴&#xff0c;孤独为友&#xff0c;理想为灯来指引前行之路的日子&#xff0c;那些默默扎根的日子终将化作星星在未来闪闪发…

java.lang.IllegalStateException: Duplicate key

序言 最近监控扫描出我们项目的某些异常信息&#xff0c;报错java.lang.IllegalStateException: Duplicate key xxx&#xff0c;看到异常来自stream流&#xff0c;然后定位看了一下是某位同事的代码使用stream流把List转Map集合出现重复的key异常信息。List集合A对象来源于某个…

01-黑马程序员大数据开发

一. Hadoop概述 1. 什么是大数据 &#xfeff;狭义上&#xff1a;对海量数据进行处理的软件技术体系&#xfeff;广义上&#xff1a;数字化、信息化时代的基础支撑&#xff0c;以数据为生活赋 2. 大数据的核心工作&#xff1a; &#xfeff;存储&#xff1a;妥善保存海量待…