k8s 集群部署业务系统 1,通过防火墙访问外部业务系统 2,需要在防火墙上开通 k8s 上所有 worker 节点访问系统 2 的策略。问题是当我在 k8s 新增 worker 节点,都需要重新开通防火墙,有什么办法可以解决吗。如下图。
1
xzysaber 2022-10-27 22:14:03 +08:00
1 、防火墙源地址可以使用网段
2 、业务系统可以放在一个反向代理后面,worker 节点全部访问 worker 节点。防火墙策略只通过这个反向代理进入 ... |
2
yimiaoxiehou 2022-10-28 08:13:48 +08:00
改 iptables ,让其他节点只通过 node1 访问业务系统,防火墙只需要配置 node1 ,不过就单点了
|
3
clintme OP @xzysaber 管理要求需要最小化开墙,方法一使用网段不大可行。第二个方法是不是起一个反向代理的工作负载,通过节点亲和固定到 2-3 个节点上,访问业务系统 2 都通过工作负载。
|
4
clintme OP @yimiaoxiehou 对,生产业务,单点不行。
|
5
xzysaber 2022-10-28 09:04:00 +08:00
@clintme "是起一个反向代理的工作负载,通过节点亲和固定到 2-3 个节点上,访问业务系统 2 都通过工作负载",是的。
|
6
xzysaber 2022-10-28 09:05:34 +08:00
"业务系统可以放在一个反向代理后面,worker 节点全部访问 worker 节点。防火墙策略只通过这个反向代理进入",不好意思,现在才发现打错字了,
业务系统 2 可以放在一个反向代理后面,worker 节点全部访问 该反向代理。防火墙策略只允许这个来自改反向代理的流量通过。 |
7
mooyo 2022-10-28 13:17:54 +08:00
egress ?
|
8
retanoj 2022-10-28 15:46:26 +08:00 via iPhone
一个外挂防火墙管着一个集群的 ip ,防火墙策略还得配固定的源地址,源地址还可能变化(增多或减少),这就很麻烦
|
9
Waffle 2022-10-28 18:03:58 +08:00
可以让所有集群节点通过统一的网关(唯一 IP )访问外部,例如 GCP 上对应的产品叫 Cloud NAT ,AWS 上对应的产品叫 NAT Gateway 。
参考文档: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-scenarios.html#private-nat-allowed-range 如果不好改集群架构,那就考虑 1 楼说的方法 2 |
10
seers 2022-10-28 23:50:07 +08:00
我正好前段时间碰到过这个问题,我们 20 几个 ip 要访问银行的服务器,结果他们只开一个 ip 防火墙,最后找了个第三方服务器,把请求发到三方服务器,三方服务器转发到银行那边,这样银行防火墙只要添加一个 ip ,即三方服务器 ip 即可。
|