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 来源:网络 在将一 ...
随机推荐
- Java-Stream-flatMap
Leave leave1 = new Leave("1","1",new Date(),CollUtil.newArrayList("A", ...
- ASP.NET Core分布式项目实战(Identity Server 4回顾,Consent 实现思路介绍)--学习笔记
任务17:Identity Server 4回顾 上一节我们中间留了一部分,登录之后的 RequireConsent,就是用户授权这一步没有做,直接跳过,这种情况可以理解为我们自己比较信任的客户端,这 ...
- IIS创建和管理虚拟网站
实验介绍: 本文会详细介绍创建虚拟站点的三种方法 一:IP地址建立站点 1.打开安装了IIS的windows,进入ip配置页面. 添加几个ip,我这里添加的是192.168.1.209,192.168 ...
- csplit命令
csplit命令 csplit命令将用PATTERN分隔的FILE文件输出到文件xx00.xx01....,并将每个文件的字节数输出到标准输出. 语法 csplit [OPTION]... FILE ...
- Java中各种比较对象方式对比
1.介绍 比较对象是面向对象编程语言的一个基本特征.在本教程中,我们将介绍Java语言的一些特性,这些特性允许我们比较对象.此外,我们还将研究外部库中的这些特性. 2.==和!=操作符 让我们从==和 ...
- Java Enumeration接口详解
二话不说,来看官方文档: public interface Enumeration<E> An object that implements the Enumeration interfa ...
- 2024-02-24:用go语言,给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1, 同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti
2024-02-24:用go语言,给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1, 同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti ...
- Python 潮流周刊第 39 期(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- 【Android逆向】apk 反编译
1. Kali搭建apktool环境 1. 访问apktool 官网https://ibotpeaches.github.io/Apktool/install/ 参考红圈里的步骤处理即可 2. 执行命 ...
- Java面向对象之内部类的几类使用场景
介绍 Java内部类是一种特殊的类,它定义在另一个类的内部.内部类提供了许多有用的特性,包括访问外部类的私有成员.隐藏实现细节以及实现回调接口等.以下是Java内部类的一些常用场景及其举例说明: 回调 ...