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…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
