通过注解(annotations)实现IP访问控制,您可以使用nginx.ingress.kubernetes.io/whitelist-source-range和nginx.ingress.kubernetes.io/block-source-range这两个注解类型。这些注解可以添加到Ingress资源中,以限制或允许特定的IP地址或IP地址范围访问您的服务。
- 使用白名单(whitelist):
通过nginx.ingress.kubernetes.io/whitelist-source-range注解,您可以指定一个或多个CIDR格式的IP地址范围,以允许这些范围内的IP地址访问您的服务。(注意:多个ip地址间逗号隔开)
完整的yaml文本示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/whitelist-source-range: '122.xx.xx.66,39.xx.xx.220'
name: xxx
namespace: xx-service
spec:
ingressClassName: ack-nginx
rules:
- host: {你的外网域名}
http:
paths:
- backend:
service:
name: {你的service服务名称}
port:
number: {你的service服务端口号}
path: /
pathType: ImplementationSpecific
如果你的外网IP不在上面的白名单列表,则会报错403被禁止: