首页 > 解决方案 > 禁止来自 Istio 以外的来源的流量

问题描述

我正在研究 Istio,我认为我缺少一些基本的东西。

我一直在关注文档,并在 AWS 中为一些虚拟服务提供了一个工作场所。我有一个网关配置为发送到虚拟服务,该服务通过与 K8s 服务对应的主机定义进行路由。这一切都很好。

但令我困惑的是,这将如何帮助限制内部集群流量。我研究 Istio 的部分原因是它的 mTLS 和外部授权功能,但在我看来,如果我无需通过 Istio 的虚拟服务 X 就可以使用服务 X,那么至少在内部,这是一个不太令人信服的解决方案.

例如,为了获得到 service 的路由amazing,我们需要一个像这样的虚拟服务:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: amazing
  namespace: amazing-app
spec:
  hosts:
  - "amazing.internal"
  gateways:
  - amazing
  http:
  - match:
    - uri:
        prefix: /
    - uri:
        prefix: /
    route:
    - destination:
        port:
          number: 80
        host: amazing

这一切都很好,但是是什么阻止了集群中的任何东西直接访问主机amazing(由 K8s 服务提供amazing)?我知道这不是 Istio 的责任,但是我不确定它是如何完成的,只要需要公开服务以便虚拟服务路由到它。应该用 a 来完成NetworkPolicy吗?

标签: kubernetesistio

解决方案


推荐阅读