我创建了一个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
答案 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
注释。