idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理
admin
2023-04-08 19:43:25
0

上一篇我们了解了如何控制入口流量,本文主要介绍在使用Istio时如何访问集群外服务,即对出口流量的管理。

默认安装的Istio是不能直接对集群外部服务进行访问的,如果需要将外部服务暴露给 Istio 集群中的客户端,目前有两种方案:

  1. 配置ServiceEntry

  2. 配置global.proxy.includeIPRanges

配置serviceEntry访问外部服务

ServiceEntry用于将额外的条目添加到Istio内部维护的服务注册表中,从而让网格中自动发现的服务能够访问和路由到这些手动加入的服务。

ServiceEntry 描述了服务的属性(DNS 名称、VIP、端口、协议以及端点)。这类服务可能是网格外的 API,或者是处于网格内部但却不存在于平台的服务注册表中的条目(例如需要和 Kubernetes 服务沟通的一组虚拟机服务)。

配置ServiceEntry 也很简单,允许从网格内部访问HTTP,HTTPS,Mongo,TCP等协议的外部服务。下面分别列举了对外部TCP服务和HTTP服务的访问配置。具体的ServiceEntry的配置参数定义可参考:

https://istio.io/docs/reference/config/istio.networking.v1alpha3/#ServiceEntry

外部TCP服务访问配置示例:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: mysql
spec:
  hosts:  
  - 192.168.0.245  
  ports:  
  - number: 3306    
    name: tcp    
    protocol: TCP

外部HTTP服务访问配置示例:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: foo-ext
spec:
  hosts:  
  - foo.com  
  ports:  
  - number: 80    
    name: http    
    protocol: HTTP

虽然社区推荐的方式是设置ServiceEntry来访问外部服务,但如果集群外需要访问的服务很多,一个个配置起来就很麻烦,也不方便管理。

配置global.proxy.includeIPRanges

如果使用HELM安装Istio, 可以在 Helm 中设置 global.proxy.includeIPRanges 变量为集群clusterIP的范围,然后进行安装。

如果要对已经安装好的Istio修改配置,需要修改名为 istio-sidecar-injector 的 Configmap的“-i”的取值为集群clusterIP,稍后重启所有服务的pod,重新注入sidecar。然后你会看到重启后pod中的initContainers的-i参数值已经变为集群clusterIP的范围。

这种方式使得只有集群内的IP通过sidecar,对外部服务的调用越过了 Istio sidecar proxy,让服务可以直接访问到对应的外部地址。

相比配置ServiceEntry,这种方式简单对 Istio 进行全局配置,就可以直接访问所有外部服务。但缺点是不能治理集群外服务的访问流量,比如不能对集群外中间件服务进行熔断限流;而且需要用户了解云供应商特定的知识和配置。

目前社区还没有完美的解决方案,可参考讨论:

https://groups.google.com/forum/#!searchin/istio-dev/serviceentry%7Csort:date/istio-dev/0RCt7Jqrcg8/7Ylrr4TABQAJ

相关内容

热门资讯

玩家分享攻略“宝宝浙江开挂器?... 您好:宝宝浙江这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
终于懂了“杭麻圈真的有挂吗?”... 您好:杭麻圈这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏中...
终于了解“贪玩互娱真的有挂吗?... 网上科普关于“贪玩互娱有没有挂”话题很是火热,小编也是针对贪玩互娱作*弊开挂的方法以及开挂对应的知识...
【第一消息】“麦穗二八杠真的有... 网上科普关于“麦穗二八杠有没有挂”话题很是火热,小编也是针对麦穗二八杠作*弊开挂的方法以及开挂对应的...
今日重大发现“微乐四川麻将有挂... 有 亲,根据资深记者爆料微乐四川麻将是可以开挂的,确实有挂(咨询软件无需...
玩家分享攻略“TT语音是不是有... 有 亲,根据资深记者爆料TT语音是可以开挂的,确实有挂(咨询软件无需打开...
乘客飞机上突发疾病死亡,“空中... 作者 | 第一财经 钱童心封图 | 阿拉木图机场 (摄影:钱童心)12月26日新华社消息称,德国汉莎...
我来教教您“精品乐清麻将有没有... 家人们!今天小编来为大家解答精品乐清麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
终于懂了“玄龙炸/金/花怎么装... 您好:玄龙炸/金/花这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这...
创意视频:小灵通漫游“未来之城... 在四十多年前出版的科幻小说《小灵通漫游未来》里,主人公小灵通在“未来市”的奇幻旅行中遇到了神奇的飘行...