gpt4 book ai didi

kubernetes - 如何使用网络策略允许外部流量并拒绝Pod间通信?

转载 作者:行者123 更新时间:2023-12-02 12:14:27 25 4
gpt4 key购买 nike

我正在kubernetes集群中设置我的默认 namespace ,以允许来自外部节点/主机的传入流量,但拒绝任何可能的Pod间通信。我有2个Nginx Pod,我想将它们完全隔离在集群内部。这两个Pod都使用nodePort类型的服务公开,并且可以从外部进行访问。

我首先应用以下默认拒绝网络策略:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny
spec:
podSelector: {}
policyTypes:
- Ingress

然后,我尝试使用以下网络策略允许外部流量:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-external
spec:
podSelector: {}
ingress:
- from:
- ipBlock:
cidr: 192.168.0.0/16

但是不幸的是,我无法从集群的内部和外部访问该服务。

在以下示例中运行:
-macOS High Sierra v10.13.6
-minikube v1.5.2->使用网络插件= cilium
-kubectl v1.16.2

我怎么面对这个问题?

最佳答案

如果要允许任何传入流量到除群集中的流量之外的任何Pod,可以在允许来自所有IP的流量的规则中使用“除外”符号。在下面,将172.17.1.0/24替换为包含您的广告连播的cidr:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-internal
spec:
podSelector: {}
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: 0.0.0.0/0
except:
- 172.17.1.0/24

关于kubernetes - 如何使用网络策略允许外部流量并拒绝Pod间通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58711173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com