Istio Service Entry介绍
目录
ServiceEntry.Resolution 解析模式
STATC模式
场景一:将http地址:httpbin.org:80 解析到192.168.1.1:8080
场景二:将TCP地址:httpbin.org:8080 解析到192.168.1.1:8080
DNS模式
场景一:服务网格内部访问外部地址httpbin.org
场景二:将http地址:httpbin.org:80 解析到192.168.1.1:8080、192.168.1.2:8080、192.168.1.3:8080
NONE模式
场景:网格内服务访问外部服务192.168.1.1:80
ServiceEntry规则定义
hosts
addresses
endpoints
exportTo
ServiceEntry.Resolution 解析模式
我们添加服务条目时,选择合适的解析模式对管控流量十分重要
ServiceEntry.Resolution指定的解析模式不会影响应用程序解析与服务关联的 IP 地址的方式。应用程序可能仍然需要使用 DNS 将服务解析为 IP,以便捕获代理的出站流量。或者,对于 HTTP 服务,应用程序可以直接与代理通信(例如,通过设置 HTTP_PROXY)来与这些服务通信。
| 解析方式 | 描述 |
|---|---|
NONE | 访问地址已被解析为IP。此类连接通常使用 IP 表 REDIRECT/eBPF 等机制通过代理进行路由。执行任何与路由相关的转换后,代理会将连接转发到该连接所绑定的 IP 地址。 |
STATIC | 在访问域名中指定静态 IP 地址作为与服务通信。 |
DNS | 尝试通过查询环境 DNS 来解析 IP 地址。如果未指定访问地址,并且未使用通配符,则代理将解析hosts字段中指定的 DNS 地址。如果指定了访问地址,则将解析地址中指定的 DNS 地址以确定目标 IP 地址。注意:DNS 解析不能与 Unix 域套接字端点一起使用。 |
DNS_ROUND_ROBIN | 尝试通过异步查询环境 DNS 来解析 IP 地址。与 |
STATC模式
场景一:将http地址:httpbin.org:80 解析到192.168.1.1:8080
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:name: external-httpbin-tcpnamespace: default
spec:endpoints:- address: 192.168.1.1ports:http: 8080hosts:- httpbin.orglocation: MESH_EXTERNALports:- name: httpnumber: 80protocol: HTTPresolution: STATIC
场景二:将TCP地址:httpbin.org:8080 解析到192.168.1.1:8080
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:name: external-httpbin-tcpnamespace: default
spec:endpoints:- address: 192.168.1.1ports:http: 8080hosts:- httpbin.orgaddresses:- 44.194.145.111/32 #httpbin.org的地址- 44.194.145.111/32location: MESH_EXTERNALports:- name: tcpnumber: 8080protocol: TCPresolution: STATIC
DNS模式
场景一:服务网格内部访问外部地址httpbin.org
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:generation: 1name: httpbin-svc-httpnamespace: default
spec:hosts:- httpbin.orglocation: MESH_EXTERNALports:- name: httpnumber: 80protocol: httpresolution: DNS
场景二:将http地址:httpbin.org:80 解析到192.168.1.1:8080、192.168.1.2:8080、192.168.1.3:8080
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:name: external-svc-dns
spec:hosts:- httpbin.orglocation: MESH_EXTERNALports:- number: 80name: httpprotocol: HTTPresolution: DNSendpoints:- address: 192.168.1.1ports:http: 8080- address: 192.168.1.2ports:http: 8080- address: 192.168.1.3ports:http: 8080
NONE模式
场景:网格内服务访问外部服务192.168.1.1:80
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:name:ip-svc-httpnamespace: default
spec:addresses:- 192.168.1.1/32hosts:- 192.168.1.1location: MESH_EXTERNALports:- name: httpnumber: 80resolution: NONE
ServiceEntry规则定义
hosts
该字段必填
与 ServiceEntry 关联的访问地址。可以是带有通配符前缀的 DNS 名称。
- 主机字段用于在 VirtualServices 和 DestinationRules 中选择匹配的主机。
- 对于 HTTP 流量,HTTP Host/Authority 标头将与主机字段进行匹配。
- 对于包含服务器名称指示 (SNI) 的 HTTP 或 TLS 流量,SNI 值将与主机字段进行匹配。
注 1:当解析设置为 DNS 类型并且未指定端点时,主机字段将用作将流量路由到的端点的 DNS 名称。
addresses
该字段非必需
与服务关联的虚拟 IP 地址。可能是 CIDR 前缀。在 HTTP流量中,该字段被忽略。如果指定了一个或多个 IP 地址,如果目标 IP 与地址字段中指定的 IP/CIDR 匹配,则传入流量将被识别为属于此服务。
如果Addresses字段为空,则将仅根据目标端口来识别流量。在这种情况下,网格中的任何其他服务都不得共享访问服务的端口。换句话说,sidecar将充当一个简单的TCP代理,将指定端口上的传入流量转发到指定的目标端点IP/主机。‘
此字段不支持Unix域套接字地址。
endpoints
与服务关联的网络地址。可以是域名也可以是IP
exportTo
控制服务条目的可见性
如果未指定命名空间,则默认情况下将服务条目推到所有命名空间。
如果设置为 ”.” ,声明服务条目只能在同一命名空间的生效。类似地,值“*”定义为在所有命名空间的生效。
相关文章:
Istio Service Entry介绍
目录 ServiceEntry.Resolution 解析模式 STATC模式 场景一:将http地址:httpbin.org:80 解析到192.168.1.1:8080 场景二:将TCP地址:httpbin.org:8080 解析到192.168.1.1:8080 DNS模式 场景一:服务网格内部访问外部…...
设备巡检管理系统有什么用?企业如何提高生产效率和生产安全?
在当今工业生产领域,设备巡检的重要性不言而喻。然而,传统巡检方式存在的诸多问题,如数据不规范、漏检误检等,严重制约了企业生产效率和产品质量。为解决这一问题,我们推出了一款设备巡检管理系统——“的修”工单管理…...
浅谈单例模式
饿汉式懒汉式/Double check(双重检索)静态内部类枚举单例 饿汉式 private static final DispatchSingleton instence new DispatchSingleton();public static DispatchSingleton getInstence() {return instence;} 饿汉式是在jvm加载这个单例类的时候&…...
【非root用户、CentOS系统】中使用源码安装gcc/g++的教程
1.引言 系统:CentOS-7.9 显卡驱动版本:460 CUDA Version: 11.2 🌼基于本地环境选择安装gcc-10.1.0 👉 gcc下载网址 gcc与cuda版本的对应关系: 2.安装说明 下载好对应的gcc的安装包并解压: 打开gcc-10.1.0/…...
Qemu镜像安全加密测试
文章目录 简介1.已经过时的qemu自带的加密方式介绍1.1.创建secret uuid的xml1.2.产生uuid1.3.给secret赋值1.4.创建一个存储池1.5.在存储池中创建一个镜像1.6.在虚拟机中使用该镜像 2.弃用以上加密方式2.1.原作者Daniel Berrange的观点2.2.Markus Armbruster更深入的操作 3. LU…...
Ubuntu 18.04 LTS中cmake-gui编译opencv-3.4.16并供Qt Creator调用
一、安装opencv 1.下载opencv-3.4.16的源码并解压 2.在解压后的文件夹内新建文件夹build以及opencv_install 3.启动cmake-gui并设置 sudo cmake-gui(1)设置界面中source及build路径 (2)点击configure,选择第一个def…...
SpringBoot (2) yaml,整合项目
目录 1 YAML配置文件 1.1 书写规则 1.2 代码示例 1.3 用yaml进行复杂数据绑定 2 整合日志 2.1 日志配置 3 整合web 3.1 默认配置 3.2 web应用开发方式 3.2.1 全自动 3.2.2 全手动 3.2.3 手自一体(推荐) 4 整合mybatis 4.1 导包 4.2 application.yaml 4.3 dao接…...
django建站过程(2)创建第一个应用程序页面
创建第一个应用程序页面 设置第一个页面【settings.py,urls.py,views.py】settings.pyurls.pyviews.py django是由一系列应用程序组成,协同工作,让项目成为一个整体。前面已创建了一个应用程序baseapp,使用的命令 python manage.py startapp baseapps这…...
竞赛 深度学习人体语义分割在弹幕防遮挡上的实现 - python
文章目录 1 前言1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习人体语义分割在弹幕防遮挡上的应用 该项目较为新颖,适合作为竞…...
网络编程开发及实战(下)
一、IO模型 一、基本概念 (一)I/O基本概念 1、基本概念 1)一个完整I/O分为两个阶段: 用户进程空间->内核空间 内核空间->设备空间(磁盘、网卡) 2)内存I/O(无名管道&…...
(H5轮播)vue一个轮播里显示多个内容/一屏展示两个半内容
效果图 : html: <div class"content"><van-swipeclass"my-swipe com-long-swipe-indicator":autoplay"2500"indicator-color"#00C4FF"><van-swipe-itemclass"flex-row-wrap"v-for"(items, index) in M…...
【Proteus仿真】【Arduino单片机】蜂鸣器
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用蜂鸣器等。 主要功能: 系统运行后,蜂鸣器播放音乐。 二、软件设计 /* 作者:嗨小易(QQ&#x…...
seatunnel web ui 构建时报错
报错内容如下 Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.29.0:check (default) on project seatunnel-web: The following files had format violations:Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.29.0:check (defa…...
Js使用ffmpeg在视频中添加png或gif
Js使用ffmpeg在视频中添加png或gif ffmpeg 使用场景是需要在web端对视频进行编辑 添加图片和gif。 注意: 以下所有的使用案例均基于vue3 setup。 同时由于ffmpeg版本不同会导致使用的api不同,使用案例前需要注意ffmpeg版本问题。 如果使用的是0.12需要使用新的…...
多线程 Leetcode 打印零与奇偶数
现有函数 printNumber 可以用一个整数参数调用,并输出该整数到控制台。 例如,调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例,该类中有三个函数:zero、even 和 odd 。ZeroEvenOdd 的相同实例将会传递…...
杭电oj--数列有序
有n(n<100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已…...
PHPEXCEL解决行数超过65536不显示问题
起因自然是导出数据到excel文件时,数据缺少现象。 百度讲解是将xls文件另存为xlsx文件。 除了这里的原因,还有一点是phpExcel存在两个写入类PHPExcel_Writer_Excel2007和PHPExcel_Writer_Excel5,而只有PHPExcel_Writer_Excel2007支持超过65…...
新媒体时代如何做好新型的网络口碑营销?
从人类开始交换商品的时代开始,口碑营销就已经存在,是靠口耳传播的营销方式。小马识途认为进入当今移动互联网时代,口碑营销又有了新的发展,网络口碑营销推广开始普及。营销人员将传统口碑营销与移动互联网营销相结合,…...
MySQL中InnoDB插入缓冲区(Insert Buffer)
一、插入缓冲区的基本原理 插入缓冲区(Insert Buffer,也称作 Change Buffer),是InnoDB存储引擎的一种内部机制,它允许系统将对非聚集索引页的写操作(例如插入、删除和更新)暂时缓存在内存中&am…...
VUE前端判断是电脑端还是移动端
背景需求 ruoyi框架,前后端分离。现在要在用户访问的时候根据不同的设备跳转到不同的登录页面。 教程 router/index.js 修改src/router/index.js,在这里增加自己的要跳转的页面 permission.js 在白名单中添加自己的登录页面 增加以下识别的代码 le…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
