kubernetes-L7负载均衡ingress

一、iptables/ipvs

前面我们说到kube-proxy是基于iptables/ipvs的分布式L4负载均衡技术,但是有很多的需求场景是这种网络层的dnat不能提供的能力。
在这里插入图片描述
基于L4的服务

  • 每个应用独占ELB,浪费资源
  • 每个服务都需要创建DNS配置
  • 启动HTTPS,每个服务需要自己管理证书

二、ingress

ingress是基于L7应用层的负载均衡技术,在用户态应用层面提供了更多的功能支持。例如:

  • L7 path forwarding,请求路径的转发
  • http header rewrite
  • TLS termination

在这里插入图片描述
基于L7的ingress:

  • 多个应用共享ELB
  • 多个应用共享Domain,可采用静态DNS配置
  • TLS termination发生在ingress层,可集中管理证书。

也是需要通过service将外部流量转到集群内部,在指向ingress pod去做L7负载均衡,比如请求路径/a就转向a服务,/b就转向b服务。ingress根据hostname和path将流量转发到不同服务,使得一个负载均衡器用于多个后台应用

2.1 工作原理

ingress是一层代理,将流量转到不同的服务。类比传统反向代理软件nginx或者envoy,通常转发规则需要手动配置配置文件。而ingress是kubenetes的一个资源对象,是转发规则的抽象,只要定义好了ingress,那么ingress controller将会生成反向代理软件的转发配置文件。

三、发布ingress

首先需要在集群安装Ingress Controller,不同的代理软件提供了不同的Ingress Controller,以nginx为例。
1、下载Nginx Ingress Controller的部署文件:

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

2、安装Ingress Controller

kubectl apply -f deploy.yaml

查看到Ingress Controller部署成功了
在这里插入图片描述
并生成了接收外部流量的service
在这里插入图片描述
该service接收到外部请求后,将交由ingress-nginx-controller pod处理。

3、配置ingress转发规则

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: gatewayannotations:kubernetes.io/ingress.class: "nginx"
spec:rules:- host: org.sxm.comhttp:paths:- path: "/"pathType: Prefixbackend:service:name: httpserver-svcport:number: 80

ingress规则绑定了请求域名和路径。
ingress-nginx-controller pod接收请求后根据转发规则,将请求转发到各backend服务。

4、访问外部流量统一入口
在这里插入图片描述
将请求转发到了后端服务httpserver-svc。

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

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

相关文章

Python-文案救赎

从指定网页( https://www.wenanwang.com/lz/)提取文本内容,并将其以段落的形式保存到一个word文档(output.docx)中。 1.导入requests库,用于发送HTTP请求。从bs4库导入BeautifulSoup,用于解析…

凸优化问题求解

这里写目录标题 1. 线性规划基本定理2.单纯形法2.1 转轴运算 3. 内点法3.1 线性规划的内点法 1. 线性规划基本定理 首先我们指出,线性规划均可等价地化成如下标准形式 { min ⁡ c T x , s . t A x b , x ⪰ 0 , \begin{align}\begin{cases}\min~c^Tx,\\\mathrm{s.…

从零开始制作一个Douban图像下载器:Wt库的基础知识和操作指南

引言 欢迎来到本文,如果你希望从豆瓣下载海量的高清图像、学习使用现代C web应用程序框架Wt库开发web应用程序,或者了解如何利用代理IP和多线程技术提高爬虫效率和稳定性,那么你来对地方了。在接下来的内容中,我们将为你提供一个…

Taro旧项目埋坑日记

Taro旧项目埋坑日记 unexpected "\" at pos 148

过滤器和监听器及应用

Filter及应用 Filter有什么用?一、Filter处理中文乱码二、监听器,统计网站在线人数1.监听器引入2.统计网站在线人数 三、Filter实现权限拦截 Filter有什么用? Filter:过滤器,可以用来过滤网站的数据。 比如处理中文乱码,每次写servlet&…

docker小白第六天

docker小白第六天 容器数据卷是什么 首先,容器卷有个坑:容器卷需要加入privilegedtrue,如下图所示,是为了解决permission denied的问题。其中“挂载”的意思是相当于一个硬盘插到主机上。使用该命令。是扩大容器的权限解决挂载目…

力扣面试题 16.19. 水域大小(java DFS解法)

Problem: 面试题 16.19. 水域大小 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该问题可以归纳为一类遍历二维矩阵的题目,此类中的一部分题目可以利用DFS来解决,具体到本题目(该题目可以的写法大体不变可参看前面几个题目&#…

华为实训课笔记 2023

华为实训 12/1312/1412/1812/19 12/13 ping 基于ICMP协议&#xff0c;用来进行可达性测试 ping 目的IP地址/设备域名&#xff08;主机名&#xff09; 如果能收到 reply 回复&#xff0c;则表示双方可以正常通信。一次正常的数据通信必须是有去有回。 <Huawei>用户视图&a…

几种常见开关电源电路图

用UC3842做的开关电源的典型电路见图1。过载和短路保护&#xff0c;一般是通过在开关管的源极串一个电阻&#xff08;R4&#xff09;&#xff0c;把电流信号送到3842的第3脚来实现保护。 当电源过载时&#xff0c;3842保护动作&#xff0c;使占空比减小&#xff0c;输出电压降…

旅游服务平台可视化大屏界面,UI设计PS资料

大屏通过实时的数据展示&#xff0c;可及时发现数据的变化和异常&#xff0c;以便及时采取措施。现分享蓝色简约大气旅游服务平台、蓝色渐变科技旅游服务平台可视化界面的Photoshop源文件&#xff0c;供UI设计师们快速获取PSD源文件完成工作。 若需更多 大屏组件&#xff0c;请…

在JavaScript中如何确保构造函数只被new调用

构造函数是一个特殊的函数&#xff0c;用于初始化一个新创建的对象。它是在创建对象时自动调用的。构造函数通常用于为对象的属性赋值&#xff0c;或者执行其他必要的设置。 使用函数名大写字母开头&#xff0c;这是一种命名约定&#xff0c;用于区分构造函数和普通函数。如何…

图纸加密软件哪个好用丨强烈推荐这个CAD图纸加密小技巧

只有身处设计行业的老板&#xff0c;也会设身处地的感受到&#xff0c;图纸加密软件的重要性&#xff01; 因为一个图纸可能就是一单生意&#xff0c;一单生意可能就能决定公司一年的营收。所以&#xff0c;选择适合企业饿图纸加密软件势在必行。 哪个图纸加密软件比较好用呢&…

下载svn client,小乌龟

给兄弟们提供一个下载svn client的软件连接 不好用包退货 https://sourceforge.net/projects/tortoisesvn/ 点击download即可

PyQt6 QFontDialog字体对话框控件

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计50条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

Java 数据结构篇-实现堆的核心方法与堆的应用(实现 TOP-K 问题:最小 k 个数)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 堆的说明 2.0 堆的成员变量及其构造方法 3.0 实现堆的核心方法 3.1 实现堆的核心方法 - 获取堆顶元素 peek() 3.2 实现堆的核心方法 - 下潜 down(int i) 3.3 实…

嵌入式串口输入详细实例

学习目标 掌握串口初始化流程掌握串口输出单个字符掌握串口输出字符串掌握通过串口printf熟练掌握串口开发流程学习内容 需求 串口循环输出内容到PC机。 串口数据发送 添加Usart功能。 首先,选中Firmware,鼠标右键,点击Manage Project Items 接着,将gd32f4xx_usart.c添…

shell编程-重定向与打印命令详解(超详细)

文章目录 前言一、Shell重定向1. 标准输入重定向2. 标准输出重定向3. 追加重定向4. 标准错误重定向5. 合并输出和错误重定向6. /dev/null文件 二、Shell中的echo命令与printf命令1. echo命令1.1 命令格式1.2 功能描述1.3 常用选项1.4 示例 2. printf命令2.1 命令格式2.2 功能描…

xcode无线真机调试详细图文步骤

步骤一、 步骤二&#xff1a; 步骤三&#xff1a; 配置完到这里&#xff0c;点击真机右键&#xff0c;菜单栏并未出现connect via ip address 选项&#xff0c;也没出现无线连接的小地球图标&#xff0c;别慌&#xff0c;接着进行下一步操作即可。 步骤四&#xff1a; 1.打开…

什么是同源策略?

同源 同源指的是URL有相同的协议、主机名和端口号。 同源策略 同源策略指的是浏览器提供的安全功能&#xff0c;非同源的RUL之间不能进行资源交互 跨域 两个非同源之间要进行资源交互就是跨域。 浏览器对跨域请求的拦截 浏览器是允许跨域请求的&#xff0c;但是请求返回…