当前位置: 首页 > news >正文

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 地址。与DNS不同的是,DNS_ROUND_ROBIN仅使用需要发起新连接时返回的第一个 IP 地址,而不依赖于 DNS 解析的完整结果,并且即使 DNS 记录频繁更改,也将保留与主机的连接,从而消除了连接池的耗尽和连接循环。这最适合必须通过 DNS 访问的大型网络规模服务。如果不使用通配符,代理将解析主机字段中指定的 DNS 地址。DNS 解析不能与 Unix 域套接字端点一起使用。

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 名称。

  1. 主机字段用于在 VirtualServices 和 DestinationRules 中选择匹配的主机。
  2. 对于 HTTP 流量,HTTP Host/Authority 标头将与主机字段进行匹配。
  3. 对于包含服务器名称指示 (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单片机控制器&#xff0c;使用蜂鸣器等。 主要功能&#xff1a; 系统运行后&#xff0c;蜂鸣器播放音乐。 二、软件设计 /* 作者&#xff1a;嗨小易&#xff08;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不同&#xff0c;使用案例前需要注意ffmpeg版本问题。 如果使用的是0.12需要使用新的…...

多线程 Leetcode 打印零与奇偶数

现有函数 printNumber 可以用一个整数参数调用&#xff0c;并输出该整数到控制台。 例如&#xff0c;调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例&#xff0c;该类中有三个函数&#xff1a;zero、even 和 odd 。ZeroEvenOdd 的相同实例将会传递…...

杭电oj--数列有序

有n(n<100)个整数&#xff0c;已经按照从小到大顺序排列好&#xff0c;现在另外给一个整数x&#xff0c;请将该数插入到序列中&#xff0c;并使新的序列仍然有序。 输入数据包含多个测试实例&#xff0c;每组数据由两行组成&#xff0c;第一行是n和m&#xff0c;第二行是已…...

PHPEXCEL解决行数超过65536不显示问题

起因自然是导出数据到excel文件时&#xff0c;数据缺少现象。 百度讲解是将xls文件另存为xlsx文件。 除了这里的原因&#xff0c;还有一点是phpExcel存在两个写入类PHPExcel_Writer_Excel2007和PHPExcel_Writer_Excel5&#xff0c;而只有PHPExcel_Writer_Excel2007支持超过65…...

新媒体时代如何做好新型的网络口碑营销?

从人类开始交换商品的时代开始&#xff0c;口碑营销就已经存在&#xff0c;是靠口耳传播的营销方式。小马识途认为进入当今移动互联网时代&#xff0c;口碑营销又有了新的发展&#xff0c;网络口碑营销推广开始普及。营销人员将传统口碑营销与移动互联网营销相结合&#xff0c;…...

MySQL中InnoDB插入缓冲区(Insert Buffer)

一、插入缓冲区的基本原理 插入缓冲区&#xff08;Insert Buffer&#xff0c;也称作 Change Buffer&#xff09;&#xff0c;是InnoDB存储引擎的一种内部机制&#xff0c;它允许系统将对非聚集索引页的写操作&#xff08;例如插入、删除和更新&#xff09;暂时缓存在内存中&am…...

VUE前端判断是电脑端还是移动端

背景需求 ruoyi框架&#xff0c;前后端分离。现在要在用户访问的时候根据不同的设备跳转到不同的登录页面。 教程 router/index.js 修改src/router/index.js&#xff0c;在这里增加自己的要跳转的页面 permission.js 在白名单中添加自己的登录页面 增加以下识别的代码 le…...

哔哩下载姬:专业B站视频下载工具,支持8K与批量下载

哔哩下载姬&#xff1a;专业B站视频下载工具&#xff0c;支持8K与批量下载 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印…...

Awoo Installer:三分钟学会Switch游戏安装的终极指南

Awoo Installer&#xff1a;三分钟学会Switch游戏安装的终极指南 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer 对于拥有破解版Nintendo Switch的…...

Awoo Installer:让Switch游戏安装变得简单高效的3个关键决策

Awoo Installer&#xff1a;让Switch游戏安装变得简单高效的3个关键决策 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer 还在为Switch游戏安装的繁…...

Draw.io免费的流程图绘画工具

免费流程图绘画工具 1.下载压缩包&#xff08;复制链接使用夸克搜索&#xff09; https://pan.quark.cn/s/01ca6dfa8866 2.解压压缩包 3.打开解压后文件夹 4.使用绘图软件...

一键部署Phi-3.5-mini-instruct:支持中英双语的代码辅助助手

一键部署Phi-3.5-mini-instruct&#xff1a;支持中英双语的代码辅助助手 1. 引言&#xff1a;轻量级多语言模型新选择 Phi-3.5-mini-instruct是微软最新推出的轻量级指令微调大语言模型&#xff0c;专为多语言对话和代码辅助任务优化。作为仅有3.8B参数的紧凑模型&#xff0c…...

终极指南:超级个体时代,如何用Agent实现百倍效率

终极指南&#xff1a;超级个体时代&#xff0c;如何用Agent实现百倍效率1. 引入与连接&#xff1a;从「短剧单月流水破百万的1人团队」说起 1.1 开场故事&#xff1a;那个“10天攒10部短剧&#xff0c;单月变现97万”的博主 你最近在抖音、快手或者YouTube Shorts上刷到过这类“…...

Docker Compose构建安全测试环境实战

1. 容器化安全测试环境构建实战在安全研究领域&#xff0c;快速搭建隔离且可复现的测试环境是验证漏洞和攻击技术的首要条件。传统物理机或虚拟机方案存在资源占用高、配置复杂等问题&#xff0c;而Docker容器技术以其轻量级和可移植性成为理想选择。下面我将分享如何用Docker …...

5步解决Degrees of Lewdity模组构建难题:自动化打包系统实战指南

5步解决Degrees of Lewdity模组构建难题&#xff1a;自动化打包系统实战指南 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 你是否在为Degrees of Lewdity游戏模组的手动打包而烦恼&#xff1f;面对…...

ProX框架实战:用轻量级精炼模型规模化提升LLM预训练数据质量

1. 项目概述&#xff1a;为什么数据质量是LLM预训练的“命门”&#xff1f;如果你在过去几年里折腾过大语言模型的训练&#xff0c;无论是复现一个Llama架构的模型&#xff0c;还是想在自己的垂直领域数据上做持续预训练&#xff0c;大概率都踩过同一个坑&#xff1a;数据质量。…...

Wox终极指南:如何用跨平台启动器提升10倍工作效率?

Wox终极指南&#xff1a;如何用跨平台启动器提升10倍工作效率&#xff1f; 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 你是否厌倦了在Windows、Mac或Linux系统中反复点击菜单寻找应用&#xf…...