首页 > 其他分享 >Istio中的核心资源及定义

Istio中的核心资源及定义

时间:2024-03-08 13:11:19浏览次数:22  
标签:VirtualService name 核心 网格 Istio my 路由 定义

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 的官方文档以获取最新和最准确的信息。

标签:VirtualService,name,核心,网格,Istio,my,路由,定义
From: https://www.cnblogs.com/ydswin/p/18060769

相关文章

  • React设计原理解密及核心源码解读
    一、React基础回顾1、react介绍React是一个用于构建用户界面的JavaScript库,它只负责应用的视图层,帮助开发人员构建快速且交互式的web应用程序。React使用组件的方式构建用户界面。2、JSX语法回顾在React中使用JSX语法描述用户界面,它是一种JavaScript语法扩展......
  • envoy&istio 对接ratelimit 实现限流之ratelimit启动
    直接采用官方提供的Docker镜像进行启动编写docker-compose.yaml文件version:"3"services:ratelimit:image:envoyproxy/ratelimit:19f2079fcommand:/bin/ratelimitports:-8080:8080-8081:8081-6070:6070volu......
  • 用promise定义方法时如何避免 自执行/周期影响 多次执行问题:将promise作为方法的回调
    如果你在Promise内部定义了异步操作,并希望避免Promise在创建时自动执行,你可以将这些异步操作封装在一个函数内,并在需要时调用该函数。这样可以确保在适当的时机执行异步操作,而不是在Promise对象创建时或周期更新时(会重新定义变量)立即执行。 以下是一个示例,演示了如何在Promise......
  • pycharm进入函数定义快捷键
    在PyCharm中,你可以通过使用快捷键来快速进入函数,而不必通过鼠标点击。以下是几个常用的快捷键:用鼠标选择函数后:Ctrl+B:进入函数的定义。Ctrl+Alt+B:进入函数的实现(如果有的话)。Ctrl+Shift+I:查看函数的文档字符串。Ctrl+Shift+T:打开一个弹出窗口,可以快速定位和......
  • vue项目引入自定义svg
    图标可以使用element-ui的图标库、第三方的图标库或者引入svg使用,这里是讲如何使用自定义的svg。将SVG图标放入项目 自定义的svg可以访问 https://www.iconfont.cn地址,搜索你想要的图标,下载SVG格式,放入项目的src/assets/icons/svg文件夹中。并在src/assets/icons/index.js......
  • 向TreeView添加自定义信息
    可在Windows窗体TreeView控件中创建派生节点,或在ListView控件中创建派生项。通过派生可添加任何所需字段,以及添加处理这些字段的自定义方法和构造函数。此功能的用途之一是将Customer对象附加到每个树节点或列表项。虽然此处的示例是关于TreeView控件的,但该方法同样......
  • 比特币核心阻止多开造成数据冲突的方法
    .bitcoin文件夹中含有敏感数据,如果多个比特币核心同时读写会造成数据破坏,比特币的做法是在.bitcoin文件夹中创建.lock文件,一旦获取锁就一直锁住该文件知道进程结束,阻止其他比特币进程使用相同的目录作为数据目录,代码如下:boolFileLock::TryLock(){if(fd==-1){returnfa......
  • Mysql和Oracle自定义函数区别
    1.Mysql自定义函数dropfunctionifexistsget_date;createfunctionget_date(v_datetimedatetime,v_timevarchar(50))returnsvarchar(50)begin declarev_datevarchar(50); declarecDatevarchar(50); declarebeginDatevarchar(50); setcDate=date_format(......
  • 杭州银行新核心:架构转型新路径、自主安全新答卷
    ​近几年,以云计算平台、分布式数据库、操作系统、中间件等为代表的国产化技术软件逐渐被广泛应用在从外围改造到核心系统的转型升级中,随着银行核心IT从业者和各类厂商的不断实践和经验积累,国产化的云原生、分布式核心业务系统已经成为未来主要发展趋势。 过去的信息科技体系以......
  • Mysql自定义函数报错合集
    参考:Mysql自定义函数报错解决方法1.在MySql中创建自定义函数报错信息如下:1.1错误显示ERROR1418(HY000):ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenabled(youmightwanttousethelesssafel......