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

Configuring Inbound security rules of Azure Load Balancer

我已经创建了一个 AKS 并使用以下 yaml 在其上部署了一个简单的 Web 服务器。
Azure LoadBalancer 自动为其提供一个 public IP 地址并且工作正常。

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

在防火墙中创建 NAT 规则并将数据包重定向到 LoadBalancer 是可行的
,但我仍然可以使用 LoadBalancer 的 Public 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

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

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