Kubernetes Gateway API-2-跨命名空间路由

1 跨命名空间路由

Gateway API 具有跨命名空间路由的核心支持。当多个用户或团队共享底层网络基础设施时,这很有用,但必须对控制和配置进行分段,以尽量减少访问和容错域。

Gateway 和 Route(HTTPRoute,TCPRoute,GRPCRoute) 可以部署到不同的命名空间中,路由可以跨命名空间边界连接到网关。本指南探讨了路由附件,并演示了独立团队如何安全地共享同一网关。

在本指南中,有两个独立的团队,store 和 site,在同一个Kubernetes集群中的 store-nssite-ns Namespaces 中运行。

这些是他们的目标,以及他们如何使用Gateway API资源来实现这些目标:

  • store 团队有两个应用程序,home(/) 和 login(/login)。该团队希望尽可能地隔离应用程序之间的访问和配置,以尽量减少访问和故障域。它们使用连接到同一 Gateway 的单独HTTPRoutes来隔离路由配置,如金丝雀部署,但仍然共享相同的IP地址、端口、DNS域和TLS证书。

  • store 团队在 store-ns 命名空间中部署了一个名为 store 的 Service,该 Service 也需要在相同的IP地址和域后面公开。

  • Foobar 公司为所有应用程序提供 foo.example.com 域名。这是由一个在infrans命名空间中运行的中央基础设施团队控制的。

  • 最后,安全团队控制 foo.example.com 的证书。通过单一共享网关管理此证书,他们能够集中控制安全性,而无需直接涉及应用程序团队。

Gateway API资源之间的逻辑关系如下所示:
在这里插入图片描述

1.1 跨命名空间路由连接

路由连接是一个重要的概念,它规定了路由如何连接到网关并对其路由规则进行编程。当命名空间中的路由共享一个或多个网关时,这一点尤其重要。网关和路由连接是双向的——只有网关所有者和路由所有者都同意这种关系,连接才能成功。这种双向关系的存在有两个原因:

  • 路由所有者不想通过他们不知道的路径过度暴露他们的应用程序。

  • 网关所有者不希望某些应用程序或团队在未经许可的情况下使用网关。例如,内部服务不应该通过互联网网关访问。

网关支持连接约束,这些约束是网关侦听器上的字段,用于限制可以连接的路由。网关支持命名空间和路由类型作为附件约束。任何不符合连接约束的路由都无法连接到该网关。同样,Routes通过Route的parentRef字段明确引用它们想要连接的网关。这些共同创建了基础设施所有者和应用程序所有者之间的握手,使他们能够独立定义应用程序如何通过网关公开。这实际上是一种减少管理开销的策略。应用程序所有者可以指定其应用程序应使用的网关,基础设施所有者可以限制网关接受的命名空间和路由类型。

1.2 共享网关

基础设施团队将 Gateway shared-gateway 部署到 infra-ns 命名空间中:

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: shared-gateway
  namespace: infra-ns
spec:
  gatewayClassName: shared-gateway-class
  listeners:
  - name: https
    hostname: "foo.example.com"
    protocol

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

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

相关文章

Windows Powershell实战指南(未完成)

目前只作简单了解,开始吧。 一、初识Powershell 目标 初步认识 Powershell和其集成环境 Ise,学会基本设置 实验 我们从简单的例子开始:希望你能从控制台和ISE的配置中实现相同的结果。然后按照下面五步进行。 (1)选…

Android着色器SweepGradient渐变圆环,Kotlin

Android着色器SweepGradient渐变圆环,Kotlin import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Path import android.graphics.SweepGradient import android…

项目上传到gitcode

首先需要在个人设置里面找到令牌 记住自己的账号和访问令牌(一长串),后面git要输入这个, 账号是下面这个 来到自己的仓库 #查看远程仓库,是不是自己的云仓库 git remote -v # 创建新分支 git checkout -b llf # 三步…

SAQ问卷的定义,SAQ问卷是什么?

SAQ问卷,全称为可持续发展评估问卷(Sustainability Assessment Questionnaire),是一种在线自评工具,其深远意义与广泛应用在当今商业环境中愈发凸显。它不仅是一种衡量企业在环境、社会和治理(ESG&#xff…

SpringBoot获取bean的几种方式

目录 一、BeanFactory与ApplicationContext的区别 二、通过BeanFactory获取 三、通过BeanFactoryAware获取 四、启动获取ApplicationContext 五、通过继承ApplicationObjectSupport 六、通过继承WebApplicationObjectSupport 七、通过WebApplicationContextUtils 八、通…

web3基于zkEVM的L2扩容方案-Scroll

项目简介 Scroll 是2021年由华人创始团队推出的 基于zkEVM 的 以太坊ZKR扩容方案,不同于zkSync的语言级别兼容,Scroll实现了完全EVM等效,即字节码层级兼容,除了数据结构和状态树等部分,zkEVM看起来与以太坊完全一样&a…

深入浅出 Linux 操作系统

深入浅出 Linux 操作系统 引言 在当今数字化的时代,Linux 操作系统无处不在。从支撑互联网巨头庞大的数据中心,到嵌入智能家居设备的微型芯片,Linux 都发挥着关键作用。然而,对于许多人来说,Linux 仍笼罩着一层神秘的…

Python毕业设计选题:基于python的白酒数据推荐系统_django+hive

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 白酒管理 系统管理 看板展示 系统首页 白酒详情…

【赵渝强老师】MongoDB逻辑存储结构

MongoDB的逻辑存储结构是一种层次结构,主要包括了三个部分,即:数据库(Database)、集合(Collection,也可以叫做表)和文档(Document,也可以叫做记录&#xff09…

Python数据可视化小项目

英雄联盟S14世界赛选手数据可视化 由于本学期有一门数据可视化课程,课程结课作业要求完成一个数据可视化的小Demo,于是便有了这个小项目,课程老师要求比较简单,只要求熟练运用可视化工具展示数据,并不要求数据来源&am…

继承超详细介绍

一 、继承 1 继承的概念 继承是面向对象程序设计使得代码可以复用的最重要手段,它使得我们可以在原有类的特性的基础上进行扩展,增加方法和属性(成员函数与成员变量),这样产生新的类,叫作派生类。继承呈现了…

Numpy指南:解锁Python多维数组与矩阵运算(上)

文章一览 前言一、nmupy 简介和功能二、numpy 安装三、numpy基本使用3.1、ndarray 对象3.2、基础数据结构 ndarray 数组3.3、ndarray 数组定义3.4、ndarray 数组属性计算3.5、ndarray 数组创建3.5.1 通过 array 方式创建 ndarray 数组3.5.2 通过 arange 创建数组3.5.3 通过 lin…

C++:单例模式

创建自己的对象,同时确保对象的唯一性。 单例类只能有一个实例☞静态成员static☞静态成员 必须类外初始化 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 静态成员类内部可以访问 构造函数私有化☞构造函数私有外部不能创建&#x…

【火猫DOTA2】VP一号位透露队伍不会保留原阵容

1、最近VP战队的一号位选手Kiritych在直播中透露,VP战队的阵容将会有新的变动,原有的阵容将不再保留。 【目前VP战队阵容名单如下】 一号位:Kiritych 二号位:squad1x 三号位:Noticed 四号位:Antares 五号位:待定 2、Spirit的战队经理Korb3n在直播时谈到了越来越多的职业选…

FOC软件 STM32CubeMX 使用

1、安装-及相关软件版本 展示版本注意事项:keil MDK和STM32CubeMX版本至少要大于等于图中版本。 2、 Motor Profiler 5.2.0使用方法

分布式 I/O 配合高冗余 PLC,打造高效控制新典范

在当今工业自动化领域,高效且稳定的控制解决方案始终是企业追求的目标。而分布式 I/O 与高冗余 PLC 的完美配合,正如同强强联合的双子星,为工业生产带来了前所未有的高效控制体验,助力企业在激烈的市场竞争中脱颖而出。 MR30分布…

Unity EasyAR入门教程

文章目录 Easy不用下载盗版安装SDK注册应用ID最简单的识别注意点 Easy不用下载盗版 EasyAR可以免费试用,如果不在乎水印,直接去官网下载即可 EasyAR官网 安装SDK 先下载,官网找到下载页,如下选择 下载后不是普通的unityPackag…

最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解LRMOP1-LRMOP6及工程应用---盘式制动器设计,提供完整MATLAB代码

一、麋鹿优化算法 麋鹿优化算法(Elephant Herding Optimization,EHO)是2024年提出的一种启发式优化算法,该算法的灵感来源于麋鹿群的繁殖过程,包括发情期和产犊期。在发情期,麋鹿群根据公麋鹿之间的争斗分…

自动驾驶3D目标检测综述(六)

停更了好久终于回来了(其实是因为博主去备考期末了hh) 这一篇接着(五)的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 (一)…

使用three.js 实现vr全景图展示,复制即可用

1.实现效果 2.代码 1.npm安装three.js npm install three 2.引入three.js import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls 3.初始化模型 init(val) {this.container document.querySelector(.container)// 初始…