Istio 流量管理 serviceEntry 出口流量管理

news/2024/12/1 0:39:14/

无论是vs还是dr这些都是入口的流量。对于pod来说也会有出去的流量的。

除了对进来的流量做有效的控制之外,其实也可以控制出去的流量。istio-egress是出口网关,pod出去的时候要经过egress-gateway到达外界的某个终端。

hosts: - www.baidu.com  这个是pod要访问的服务器。pod里面设置的是dnsPolicy:clusterFirst,它的意思就是优先使用集群里面的dns,这个也就是kube-system命名空间下面的coredns了,location: MESH_EXTERNAL这个意思hosts是在网格之外的主机。

  • MESH_EXTERNAL -- 网格外部   控制去往网格外部的流量,百度就是网格之外的流量了
  • MESH_INTERNAL -- 网格内部    控制到网格内部某个主机的流量。
[root@k8s-master se]# cat se.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:name: mysenamespace: istio
spec:hosts:- www.baidu.comports:- number: 443name: httpsprotocol: HTTPSresolution: STATIClocation: MESH_EXTERNALendpoints:- address: 192.168.26.3 

如果resolution: STATIC  address: 192.168.26.3   这样是去解析www.baidu.com的时候解析为192.168.26.3(此处的endpoint的地址是www.baidu.com的IP)

这样就是将域名百度解析为192.168.26.3 

结合VS进行流量控制


[root@k8s-master ~]# netstat -tpnl | grep 80tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      91791/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      91791/nginx: master [root@k8s-master se]# cat se.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:name: mysenamespace: istio
spec:hosts:- xx.rhce.ccports:- number: 80name: httpsprotocol: HTTPSresolution: STATIClocation: MESH_EXTERNALendpoints:- address: 192.168.11.135 

这里明确指出的是走向xx.rhce.cc,也就是出去的时候流量,xx.rhce.cc不是集群的,它不是我们网格里面的。得通过se加入到网格内。

# curl xx.rhce.cc
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.rhce.cc//">here</a>.</p>
</body></html>

我们要想通过vs来控制出口流量的话,那么一定要把服务器端写入到serviceEntry里,如果不写的话,则vs对他不生效。

如果只是单单的在里面加一条域名解析,那么是没问题可以访问集群外部的机器的,但是要实现控制必须使用se + vs
# cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
fe00::0	ip6-mcastprefix
fe00::1	ip6-allnodes
fe00::2	ip6-allrouters
10.244.169.156	pod1

流量想出口到网格之外的主机,就是将网格之外的主机纳管进入网格之内再去控制。

要想控制pod往网格之外的主机,那么要为网格之外的主机建立se,然后结合vs去做控制。

如果我们没有定义se,默认情况下,所有的出去的流量都是允许的

http://www.ppmy.cn/news/761163.html

相关文章

本地部署crm的优势

编者按:本文介绍 什么是本地部署CRM 系统&#xff0c;以及它的优点和缺点。CRM是帮助企业管理客户关系的工具&#xff0c;里面存储了一个企业核心的销售数据。而本地部署的天翎CRM系统将客户数据存储在本地服务器上&#xff0c;而不是在云端服务器上。本地部署可以为企业提供更…

解决:windows资源管理器停止工作(屏幕黑屏,无文件菜单)

1.在键盘按下“ctrlaltdelete”快捷组合键调出任务窗口&#xff0c;选择任务管理器。 2.新建:explorer.exe 即可

计算机属性资源管理器已停止工作,经常出现“资源管理器已停止工作”怎么办的完美解决办法...

相信有不少安装Windows7的朋友都遇到这样一个问题&#xff0c;那就是每次开机登陆到桌面的时候&#xff0c;当你想去点击任何东西&#xff0c;包括想去点击"开始"菜单&#xff0c;就会出现“资源管理器停止工作”的问题&#xff0c;很是烦人&#xff0c;有的甚至隔了…

计算机资源管理器经常停止运行,win7资源管理器反复停止工作的解决方法[多图]...

win7资源管理器就是win7系统里管理电脑里面所有文件、资源的一项系统程序。但最近有用户表示自己的win7电脑开机后资源管理器老是停止工作&#xff0c;也不知道该怎么办。没关系&#xff0c;今天小编就为大家分享win7资源管理器反复停止的解决方法。 解决方法如下&#xff1a; …

win7计算机属性资源管理器停止工作,win7资源管理器停止工作,手把手教你Win7资源管理器已停止工作怎么解决...

在系统中&#xff0c;资源管理器是一项重要的服务&#xff0c;其能够帮助用户管理系统中的视频、图片、文档、系统文件等一系列资源&#xff0c;而在我们使用电脑的过程中&#xff0c;部分用户的系统常常弹出“Windows资源管理器已停止工作”的错误提示&#xff0c;许多用户遇到…

注册表 点击资源管理器打开计算机,如果计算机打开黑屏并且Windows资源管理器停止工作,该怎么办?...

如果计算机打开黑屏并且Windows资源管理器停止工作&#xff0c;该怎么办&#xff1f;发生了导致程序停止正常运行的问题. 如果有解决方案&#xff0c;Windows将关闭程序并通知您. 发生此问题的原因是操作系统异常&#xff0c;用户需要回顾他最近所做的事情吗&#xff1f;注册表…

计算机属性资源管理器已停止工作,windows资源管理器已停止工作,教您windows资源管理器已停止工作如何解决...

在Windows系统中&#xff0c;Windows资源管理器是一项重要的服务&#xff0c;其能够帮助用户管理系统中的视频、图片、文档、系统文件等一系列资源&#xff0c;并为用户提供了查找、检索功能&#xff0c;在使用电脑的过程中&#xff0c;部分用户的系统常常弹出“Windows资源管理…

win7计算机属性资源管理器停止工作,win7资源管理器停止工作的三种修复方法

win7系统资源管理器是比较重要的&#xff0c;主要负责管理数据库&#xff0c;而且还可以存储数据并执行故障恢复。不少用户朋友遇到这样一个问题&#xff0c;无论是点击win7系统开始菜单还是其他程序都会弹出“资源管理器停止工作”&#xff0c;有什么方法可以修复此问题吗&…