Rancher v2.5 使用 Ingress Controller 限制集群外部 ip 访问集群服务

使用 Ingress Controller 限制集群外部 ip 访问集群服务

Rancher 部署工作负载,通过 NodePort 将 Service 服务映射后,无法通过防火墙策略对集群外客户端访问进行限制,在公司研发环境内存在风险,易被扫描到。

经过查找资料,只能通过 Ingress 实现对服务访问的限制。

1. 创建测试服务

创建 nginx 工作负载用于验证,其中端口映射不能再使用 NodePort 模式,必须使用 集群 IP,否则无法限制。

在这里插入图片描述

2. 创建 Ingress

  1. 进入集群仪表板

在这里插入图片描述

  1. 选择命名空间并进入 Ingresses 列表

在这里插入图片描述

  1. 创建 Ingress

    (1)填写【规则】

在这里插入图片描述

(2)填写【标签注释】

# 固定写法
nginx.ingress.kubernetes.io/rewrite-target=/
# 允许单个 ip 访问
nginx.ingress.kubernetes.io/whitelist-source-range=10.232.0.43/32
# 允许 ip 范围访问 10.232.0.1-10.232.0.255
nginx.ingress.kubernetes.io/whitelist-source-range=10.232.0.0/24
# 允许多个 ip 或范围访问,逗号分隔
nginx.ingress.kubernetes.io/whitelist-source-range=10.232.0.26/32,10.232.0.43/32

在这里插入图片描述

其他内容无需填写,保存即可。

3. 配置 hosts 解析

将规则中配置的主机域名解析到集群 ip 即可

192.168.1.111	xf.com

4. 通过域名访问验证

http://xf.com/nginx

有访问权限的访问:

在这里插入图片描述

无访问权限的访问:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq12547345/article/details/130198025