配置Azure负载均衡器的入站安全规则

时间:2020-03-25 08:29:57

标签: azure azure-kubernetes azure-load-balancer

我创建了一个AKS并在其上部署了一个简单的Web服务器,并带有以下yaml。
Azure LoadBalancer会自动为其提供一个公共IP地址,并且可以正常工作。

现在,我想限制源IP地址,以便只能从指定的IP地址访问它。
我尝试使用某些网络规则将Azure防火墙添加到AKS(aks-vnet-XXXXXXX)的虚拟网络中,但不起作用。

在防火墙中创建NAT规则并将数据包重定向到LoadBalancer是可行的
,但我仍然可以使用LoadBalancer的公共IP地址访问Pod。

有什么建议吗?

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
    - name: http
      port: 80
      targetPort: 80

---
apiVersion: apps/v1
kind: Deployment
(skipped something not important)
    spec:
      containers:
      - name: nginx
        image: nginx:1.17.6
        ports:
        - containerPort: 80

1 个答案:

答案 0 :(得分:0)

您可以通过将NSG(网络安全组)应用于AKS群集所在的子网来完成您要实现的目标:https://docs.microsoft.com/en-us/azure/aks/concepts-security#network-security

具有细粒度控制的更通用方法将需要创建Ingress Controller,为您的服务创建Ingress对象并对其应用ingress.kubernetes.io/whitelist-source-range注释。