Istio中的核心资源及定义
Istio 的核心资源主要包括以下几种:
1. Gateway
用于建模边缘网关,可以为进入或离开网格的流量提供专用的入口和出口点。Gateway 定义了在网格边缘运行的负载均衡器,用于接收传入或传出的 HTTP / TCP 连接。然后,它将接收到的连接路由到目标地址,该地址可以是网格内的服务,也可以是网格外部的服务。
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: my-gateway
spec:
selector:
istio: ingressgateway # 使用 Istio 默认的 ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
2. VirtualService
这是 Istio 中用于定义路由规则的资源。你可以通过 VirtualService 描述满足特定条件的请求应该如何路由。每个 VirtualService 都包含了一组路由规则,这些规则定义了匹配的请求以及这些请求的目标地址。此外,VirtualService 还需要定义关联的 service 和端口,它是绑定在 gateway 上的。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: my-virtual-service
spec:
hosts:
- "*"
gateways:
- my-gateway
http:
- match:
- uri:
prefix: /api
route:
- destination:
host: my-service
port:
number: 8080
3. DestinationRule
这个资源定义了对应目标主机的可路由子集(例如有命名的版本),并描述了到达这些目标的请求应该如何处理。通常与 VirtualService 配合使用,VirtualService 在向特定服务版本发送请求时会用到这些子集。此外,DestinationRule 还可以配置一系列的策略,这些策略在请求被 VirtualService 路由之后生效。
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: my-destination-rule
spec:
host: my-service
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
trafficPolicy:
tls:
mode: ISTIO_MUTUAL
4. ServiceEntry
当需要在 Istio 服务网格中访问外部服务(例如运行在网格外部的数据库)时,可以使用 ServiceEntry。这是一种允许将额外的条目添加到 Istio 内部的服务注册表中的方法,以便网格内的服务可以访问和路由到这些外部服务。
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-service
spec:
hosts:
- external.example.com
ports:
- number: 443
name: https
protocol: HTTPS
location: MESH_EXTERNAL
resolution: DNS
Istio 的核心资源,包括网关(Gateway)、虚拟服务(VirtualService)、目标规则(DestinationRule)和服务条目(ServiceEntry)。你可以根据自己的需求修改这些文件,并通过 kubectl apply -f <filename>.yaml 命令将它们应用到你的 Istio 服务网格中。
请注意,这些示例中的名称、主机、端口和标签等都应该根据你的实际环境和服务进行相应的修改。此外,Istio 的配置可能会随着版本的更新而有所变化,因此建议查阅 Istio 的官方文档以获取最新和最准确的信息。
Istio中的核心资源及定义的更多相关文章
- spring中基础核心接口总结
spring中基础核心接口总结理解这几个接口,及其实现类就可以快速了解spring,具体的用法参考其他spring资料 1.BeanFactory最基础最核心的接口重要的实现类有:XmlBeanFac ...
- (四)Kubernetes 资源清单定义
Kubernetes常用资源对象 依据资源的主要功能作为分类标准,Kubernetes的API对象大体可分为五个类别,如下: 类型 名称 工作负载(Workload) Pod.ReplicaSet.D ...
- Kubernetes 学习5 kubernetes资源清单定义入门
一.kubernetes是有一个restful风格的 API,把各种操作对象都一律当做资源来管理.并且可通过标准的HTTP请求的方法 GET,PUT,DELETE,POST,等方法来完成操作,不过是通 ...
- 5、kubernetes资源清单定义入门
使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...
- Istio中的流量配置
Istio中的流量配置 目录 Istio中的流量配置 Istio注入的容器 Istio-init istio-proxy Envoy架构 Pilot-agent生成的初始配置文件 Envoy管理接口获 ...
- K8S(02)管理核心资源的三种基本方法
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 管理k8s核心资源的三种基本方法: 目录 系列 ...
- 如何在 Istio 中支持 Dubbo、Thrift、Redis 以及任何七层协议?
赵化冰,腾讯云高级工程师,Istio Member,ServiceMesher管理委员,Istio 项目贡献者, Aerika 项目创建者 ,热衷于开源.网络和云计算.目前主要从事服务网格的开源和研发 ...
- k8s核心资源之Pod概念&入门使用讲解(三)
目录 1. k8s核心资源之Pod 1.1 什么是Pod? 1.2 Pod如何管理多个容器? 1.3 Pod网络 1.4 Pod存储 1.5 Pod工作方式 1.5.1 自主式Pod 1.5.2 控制 ...
- kubernetes之常用核心资源对象
部门产品线本身是做DEVOPS平台,最近部署架构也在往K8S上靠了,不得不学一下K8S.自己搭建了K8S集群与harbor仓库来学习. 1.kubernetes之常用核心资源对象 1.1.K8s服务部 ...
- C中的预编译宏定义
可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...
随机推荐
- Python 使用sigthief签发证书
Windows 系统中的一些非常重要文件通常会被添加数字签名,其目的是用来防止被篡改,能确保用户通过互联网下载时能确信此代码没有被非法篡改和来源可信,从而保护了代码的完整性.保护了用户不会被病毒.恶意 ...
- C#使用Tamir.SharpSsh.jsch上传文件异常Algorithm negotiation fail
环境 服务器:centos6.5 客户端:Windows 前言 项目中有一个exe,安装在客户端,其中有一个功能是将本地产生的文件上传至服务器,这个功能是以服务的方式安装在客户端上.之前一切好使,文件 ...
- Spring自带的这11个工具类,真香!
前言 最近有些小伙伴,希望我分享一些好用的工具类,帮他们提升开发效率. 今天这篇文章专门跟大家一起总结一下,Spring框架本身自带的一些好用的工具类,希望对你会有所帮助. 1 Assert 很多时候 ...
- Winows11-hosts文件无法修改保存
Win11系统hosts文件无法修改保存 新近使用win11新电脑修改hosts,添加IP和主机名映射,保存时提示host无法修改. 解决办法: 1.将hosts文件的权限"只读" ...
- JS 保姆级贴心,从零教你手写实现一个防抖debounce方法
壹 ❀ 引 防抖在前端开发中算一个基础但很实用的开发技巧,在对于一些高频操作例如监听输入框值变化触发更新之类,会有奇效.除了实际开发,在面试中我们也可能偶遇手写防抖节流的问题,鉴于不同公司考核要求不一 ...
- JS leetcode 两数之和 II - 输入有序数组 题解分析
壹 ❀ 引 我在JS leetcode 两数之和 解答思路分析一文中首次解决两数之和等于目标值的问题,那么今天遇到的是两数之和的升级版,题目为leetcode167. 两数之和 II - 输入有序数组 ...
- NC21467 [NOIP2018]货币系统
题目链接 题目 题目描述 在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为n.面额数组为a[1..n]的货币系统记作(n, ...
- Java Solon v2.7.0 发布
Java Solon 是什么框架? Java "生态级"应用开发框架.从零开始构建,有自己的标准规范与开放生态.(历时七年,具备全球第二级别的生态规模) 相对于 Spring,有什 ...
- Divisors of the Divisors of an Integer题解
Divisors of the Divisors of an Integer 题意:定义d[x]为x的因子个数,sndd[y]为y的因子的因子个数和. 思路:任意一个大于一的数,都可以分解为若干个质数 ...
- 《深入理解Java虚拟机》(七) volatile 变量
目录 概述 一.内存模型 物理机内存模型 Java内存模型 Java内存模型中有如下的规定: 操作 二.Volatile变量 volatile修改变量后保证所有线程对其可见性 volatile禁止指令 ...