Kubernetes从零到精通(12-Ingress、Gateway API)

        Ingress和Gateway API都是Kubernetes中用于管理外部访问集群服务的机制,但它们有不同的设计理念和适用场景。它们的基本原理是通过配置规则,将来自外部的网络流量路由到Kubernetes集群内部的服务上。

Ingress/Gateway API和Service

        Ingress/Gateway API主要解决Kubernetes集群外部(例如互联网用户)访问Kubernetes集群内部资源的需求;

        Service主要解决Kubernetes集群内部资源互相访问;

        从功能实现上看,Service的NodePort和LoadBalancer模式也能实现集群外部的访问;但Ingress/Gateway API提供了更高级、灵活的流量管理、安全认证、跨协议等功能,解决了Service的局限性。

Ingress

Ingress简介

        Ingress是Kubernetes中较早提出的网络流量管理机制,目的是通过一个单一的入口点管理集群的外部HTTP和HTTPS流量。这样,多个服务可以通过一个统一的域名或IP公开,而不必为每个服务分别暴露端口。

使用说明:
Ingress Controller:Ingress本身只定义了规则,真正处理网络流量的任务由Ingress Controller完成。常见的Ingress Controller有NGINX、Traefik和HAProxy等。必须部署Ingress Controller,才能让Ingress资源生效。
Ingress资源:Ingress资源用来定义如何将外部HTTP/HTTPS流量转发到集群内的服务。其典型配置包括:
Host:用于根据域名路由流量。
Path:根据URL路径路由流量。
TLS:定义TLS证书以支持HTTPS。
Backend:指定服务名称和端口,流量会被转发到这个服务上。

Ingress示例

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: example-ingressnamespace: default
spec:ingressClassName: nginx-examplerules:- host: example.comhttp:paths:- path: /app1pathType: Prefixbackend:service:name: app1-serviceport:number: 80- host: another.comhttp:paths:- path: /pathType: Prefixbackend:service:name: another-serviceport:number: 80

         在这个例子中,Ingress资源将域名example.com下/app1路径的流量转发到名为app1-service的Service上;将域名another.com下/路径的流量转发到名为another-service的Service上。

Gateway API

Gateway API简介

        Gateway API是Kubernetes网络管理的较新机制,设计目的是为了替代Ingress,提供更灵活和可扩展的流量管理能力。它将网关(Gateway)和路由(Routes)解耦,允许更复杂的配置,并支持多种协议(不仅仅是HTTP/HTTPS,还包括TCP、UDP 等)。Gateway API更适合企业级场景,支持多租户、跨集群流量管理等复杂的需求。

使用说明:
GatewayClass:定义网关的类型。例如,可以有不同的GatewayClass代表不同类型的负载均衡器(如云供应商的负载均衡器、NGINX、Envoy等)。
Gateway:定义实际的网关实例,指定入口端口、协议和可用的路由规则。
HTTPRoute、TCPRoute等:这些资源定义了如何根据特定规则(如域名、路径、协议等)将流量路由到后端服务。它们比Ingress更灵活,可以在不同的网关之间共享路由规则。

Gateway API示例

apiVersion: gateway.networking.k8s.io/v1beta1
kind: Gateway
metadata:name: my-gatewaynamespace: default
spec:gatewayClassName: my-gateway-classlisteners:- name: httpprotocol: HTTPport: 80routes:kind: HTTPRouteselector:matchLabels:app: my-route---
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:name: my-routenamespace: defaultlabels:app: my-route
spec:rules:- matches:- path:type: Prefixvalue: /app1          # /app1路径路由到app1-servicehostnames:- example.com  # 根据域名example.com匹配backendRefs:- name: app1-serviceport: 80- matches:- path:type: Prefixvalue: /          # 根路径路由到another-servicehostnames:- another.com  # 根据域名another.com匹配backendRefs:- name: another-serviceport: 80

         在这个例子中,Gateway资源将域名example.com下/app1路径的流量转发到名为app1-service的Service上;将域名another.com下/路径的流量转发到名为another-service的Service上。

 

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

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

相关文章

Qt窗口——QToolBar

文章目录 工具栏创建工具栏设置toolTip工具栏配合菜单栏工具栏浮动状态 工具栏 QToolBar工具栏是应用程序中集成各种功能实现快捷键使用的一个区域。 可以有多个,也可以没有。 创建工具栏 #include "mainwindow.h" #include "ui_mainwindow.h&qu…

ARM 工业边缘计算机与 C# 编程的完美融合

在工业领域,随着智能化和数字化的不断推进,ARM 工业边缘计算机凭借其出色的性能和低功耗等优势,逐渐成为众多应用场景的重要支撑。而 C# 编程语言的强大功能和广泛适用性,使其在与 ARM 工业边缘计算机的结合中展现出了巨大的潜力。…

壹嘉情,中国与世界经济文化交流的新桥梁

壹嘉情正在全球华商领域迅速崛起。作为意大利华商总会的中国分部,壹嘉情承载着推动两岸及全球华商深度合作、实现资源共享和互利共赢的使命。它的成立标志着意大利华商总会在全球战略布局上的重要一步,同时也昭示了全球化浪潮中,华人企业正加…

LNMP的简单安装(ubuntu)

LNMP介绍 LNMP 是一种常见的开源软件组合,用于搭建高效的网站服务器环境。LNMP 代表以下四个组件: Linux:操作系统。Linux 是一种稳定、可靠、安全的开源操作系统,常用于服务器环境,特别是在企业级部署中。它负责底层…

小程序——生命周期

文章目录 运行机制更新机制生命周期介绍应用级别生命周期页面级别生命周期组件生命周期生命周期两个细节补充说明总结 运行机制 用一张图简要概述一下小程序的运行机制 冷启动与热启动: 小程序启动可以分为两种情况,一种是冷启动,一种是热…

js 深入理解生成器

目录 概述1 . 生成器基础2. 与普通函数的区别3. 通过 yield 中断执行3.1 yield 是干嘛的?3.2 yield 和 return 的区别3.3 每个生成器对象作用域都是独立的3.4 yeild 的使用位置3.5 生成器对象作为可迭代对象3.6 使用 yield 实现输入和输出3.6.1 yield实现输入3.6.1 …

【JVM安装MySQL】

环境 > VMware Workstation Pro > CentOS 7 >Navicat Premium Lite > MobaXterm添加 MySQL Yum 仓库 根据操作系统在下载界面选取对应yum库进行下载 wget https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpm在文件下载界面安装 rpm -ivh mysq…

<<编码>> 第 14 章 反馈与触发器(3)--锁存器与触发器 示例电路

电平触发 D 型触发器 info::操作说明 鼠标单击逻辑输入切换 0|1 状态 因复位和置位不应同时处在高电平, 因此在输入处加入一个非门反向, 然后复位和置位输入合并为 数据(Data) 输入 注: 当保持位为 0 时, 数据输入无效 primary::在线交互操作链接 https://cc.xiaogd.net/?star…

Stylized Smooth Clouds 卡通风格化云朵包

下载:​​Unity资源商店链接资源下载链接 效果图:

Spring考点总结

01.Spring框架的基本理解 关键字:核心思想IOC\AOP\作用(解耦、简化),简单描述框架组成 Spring框架是一款轻量级的开发框架,核心思想是IOC(控制反转)和AOP(面向切面编程), 为Java应用程序开发…

数字IC设计\FPGA 职位经典笔试面试整理--语法篇 Verilog System Verilog(部分)

注: 资料都是基于网上一些博客分享和自己学习整理而成的 Verilog 1. 数据类型 Verilog一共有19种数据类型 基础四种数据类型:reg型,wire型,integer型,parameter型 reg型   reg类型是寄存器数据类型的关键字。寄存…

软考(中级-软件设计师)(0919)

软考 一、软件设计师-历年考试考点分布情况-上午-计算机与软件工程知识 知识点分数说明比例软件工程基础知识11开发模型、设计原则、测试方法、质量特性、CMM、Pert图、风险管理14.67%面向对象12面向对象基本概念、面向对象分析与设计、UML、常见算法16.00%数据结构与算法10…

【HarmonyOS NEXT】DevEco快速实现真机截屏,并保存到电脑

点日志点照机图标选一个路径保存图片在ide中右键图片,点复制电脑随便找个位置保存图片https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-screenshot-V5

使用Ubuntu耳机输出正弦波信号

最近有一个项目想使用喇叭发出一个标准的正弦波测试信号,故记录下操作过程 sudo apt install libasound2-dev 否则有可能会报错: alsaaudio.c:28:10: fatal error: alsa/asoundlib.h: No such file or directory 安装pyalsaaudio: pip …

IE浏览器彻底去除浏览器缓存的方法

1.浏览器右上方如图操作 2.点击后会弹出窗口,如图操作 3.点击查看文件如图操作 4.点击后会弹出一个文件夹,在文件夹内CtrlA全选删除全部文件就可以,有提示直接确认即可

智能车镜头组入门(三)巡线

镜头组的特点是通过摄像头来获取赛道的信息,从而达到前瞻的效果,完成转向和速度决策。 我们的方案,带上元素识别,大概在TC264上5ms一帧,所以我们开了100hz的图象。 之前我看别的博客上有人说,他们组的50帧…

光伏检测数据集(六种)

光伏检测数据集(六种) 1.并网光伏系统故障诊断数据集 (该数据集为excel张,对故障类型完成标注)。 2.分布式光伏目标检测数据集 (该数据集共4000张分布式光伏高清图片,均已标注) 3.光伏电池板缺陷检测数据集 (该数据集共2400张光伏板缺陷高清图片&#xf…

DC-DC降压10A电源降压可调模块24V转12V9V5V3V-AH1514芯片

AH1514:一款高效率小体积的DC-DC降压电源芯片 摘要:本文介绍了一款高性能的DC-DC降压电源芯片——AH1514,该芯片具有24V转12V、9V、5V、3V可调输出,支持7V-38V输入,20A峰值输出电流,且具有小体积、高效率的…

【计算机网络】TCP的可靠传输机制、标记位以及编程结构

文章目录 一、TCP的可靠传输的工作原理1、确认应答机制和捎带应答机制2、超时重传3、快速重传4、滑动窗口5、流量控制 未 PSH6、拥塞控制7、延迟应答8、TCP 以段为单位发送数据 二、TCP 首部的六个标记位1、URG2、ACK3、PSH4、RST5、SYN6、FIN 三、TCP网络并发编程 一、TCP的可…

下载docker镜像报错,dial tcp x.x.x.x:443: connect: connection refused

原因是:国外的连接超时了. 解决方案改为阿里云的数据源 打开阿里云 搜索&#xff1a;容器镜像服务 ACR 把你自己的这个直接复制在linux sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF { "registry-mirrors": ["你自己的"] }…