将通过Istio网关的网络流量的IP地址列入白名单

时间:2019-04-19 22:30:46

标签: kubernetes istio whitelist

我尝试使用this示例将kubernetes群集的传入流量中的IP地址列入白名单:

尽管这可以按预期工作,但希望更进一步,并尝试在设置Istio规则而不是Loadbalancer(ingressgateway)时使用istio网关或虚拟服务。

apiVersion: config.istio.io/v1alpha2
kind: rule
metadata:
  name: checkip
  namespace: my-namespace
spec:
  match: source.labels["app"] == "my-app"
  actions:
  - handler: whitelistip.listchecker
    instances:
    - sourceip.listentry
---

my-appkind: Gateway中,具有特定的主机和端口,并标记为app=my-app

Am使用istio版本1.1.1 另外,我的集群中,几乎所有的Service Pod上都运行着带有特使边车的所有istio系统。

1 个答案:

答案 0 :(得分:0)

您混淆一件事,在上述规则中,match: source.labels["app"] == "my-app"不是指任何资源的标签,而是指pod的标签。

来自OutputTemplate Documentation

  

sourceLabels |引用源容器标签。   属性绑定可以使用$ out.sourcelabels

引用此字段。

您可以通过以下方式查找带有“ app = istio-ingressgateway”标签的资源来进行验证:

kubectl get pods,svc -n istio-system -l "app=istio-ingressgateway" --show-labels

您可以在istio上查看有关混音器适配器模型的blog,以了解完整的混音器模型,其处理程序,实例和规则。

希望有帮助!