我正在我的 kubernetes 集群中设置我的默认命名空间,以允许来自外部节点/主机的传入流量,但拒绝任何可能的 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
我怎么能面对这个问题?