gpt4 book ai didi

kubernetes - 针对 istio 导出流量的粒度策略

转载 作者:行者123 更新时间:2023-12-02 11:51:56 24 4
gpt4 key购买 nike

我有安装了 Istio 的 Kubernetes 集群。我有两个 pod,例如 sleep1 和 sleep2(安装了 curl 的容器)。我想将 istio 配置为允许从 sleep1 到 www.google.com 的流量,并禁止从 sleep2 到 www.google.com 的流量。

所以,我创建了 ServiceEntry:

---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: google
spec:
hosts:
- www.google.com
- google.com
ports:
- name: http-port
protocol: HTTP
number: 80
resolution: DNS

网关
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: istio-egressgateway
spec:
selector:
istio: egressgateway
servers:
- port:
number: 80
name: http-port
protocol: HTTP
hosts:
- "*"

两个虚拟服务(mesh->egress,egress->google)
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: mesh-to-egress
spec:
hosts:
- www.google.com
- google.com
gateways:
- mesh
http:
- match:
- gateways:
- mesh
port: 80
route:
- destination:
host: istio-egressgateway.istio-system.svc.cluster.local
port:
number: 80
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: egress-to-google-int
spec:
hosts:
- www.google.com
- google.com
gateways:
- istio-egressgateway
http:
- match:
- gateways:
- istio-egressgateway
port: 80
route:
- destination:
host: google.com
port:
number: 80
weight: 100

结果,我可以从两个 pod curl google。

又是一个问题:我可以允许从 sleep1 到 www.google.com 的流量并禁止从 sleep2 到 www.google.com 的流量吗?我知道这可能与 kubernetes NetworkPolicy 和黑/白名单( https://istio.io/docs/tasks/policy-enforcement/denial-and-list/ )有关,但是这两种方法都禁止(允许)到特定 ips 的流量,或者我错过了什么?

最佳答案

您可以为 sleep1 创建不同的服务帐户和 sleep2 .那你create an RBAC policy限制对 istio-egressgateway 的访问政策,所以 sleep2将无法通过导出网关访问任何导出流量。这应该与禁止来自集群的任何导出流量一起工作,这些流量不是来自导出网关。见 https://istio.io/docs/tasks/traffic-management/egress/egress-gateway/#additional-security-considerations .

如果要允许 sleep2访问其他服务,但不能访问 www.google.com ,您可以使用 Mixer 规则和处理程序,请参阅 this blog post .它显示了如何允许特定的 URL 路径到特定的服务帐户。

关于kubernetes - 针对 istio 导出流量的粒度策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57824931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com