在 Minikube 多个命名空间中,为什么 NetworkPolicy 不起作用
In Minkube mulitple namespaces why NetworkPolicy is not working
我正在使用 minikube 并创建了以下资源
- 两个命名空间 qa 和 prod
- 在 qa 命名空间中创建了 curlpod,还在 prod 命名空间中创建了 curlpod 和 web pod。 Curl pods 可用于 CURL 任何 URL 而 web pod 具有 nginx 服务默认网页。
- 根据 NetworkPolicy 创建并将其应用于 prod 命名空间。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: prod #A
name: block-other-namespace
spec:
podSelector: {} #B
ingress:
- from:
- podSelector: {} #C
我可以看到应用如下图所示
当我从 qa 命名空间的 curlpod 到 prod 命名空间的 web pod CURL 时,为了测试 prod 命名空间与 qa 命名空间隔离,它 returns 默认的 nginx 网页不应该到期网络政策。请帮我找出为什么网络策略没有阻止来自 qa 命名空间的请求。
prod命名空间的web pod获取IP和qa命名空间的curlpod向prod命名空间的web pod的CURL请求截图如下:
Netowrk Policy 在 minikube 上不起作用的原因如前所述 here:
“普通的 minikube 安装 ( minikube start ) 不支持任何 NetworkPolicies,因为默认的 CNI Kindnet 在设计上不支持网络策略。但是,如果受支持的 CNI,例如 Calico,minikube 可以支持 NetworkPolicies , 已安装。
我正在使用 minikube 并创建了以下资源
- 两个命名空间 qa 和 prod
- 在 qa 命名空间中创建了 curlpod,还在 prod 命名空间中创建了 curlpod 和 web pod。 Curl pods 可用于 CURL 任何 URL 而 web pod 具有 nginx 服务默认网页。
- 根据 NetworkPolicy 创建并将其应用于 prod 命名空间。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: prod #A
name: block-other-namespace
spec:
podSelector: {} #B
ingress:
- from:
- podSelector: {} #C
我可以看到应用如下图所示
当我从 qa 命名空间的 curlpod 到 prod 命名空间的 web pod CURL 时,为了测试 prod 命名空间与 qa 命名空间隔离,它 returns 默认的 nginx 网页不应该到期网络政策。请帮我找出为什么网络策略没有阻止来自 qa 命名空间的请求。
prod命名空间的web pod获取IP和qa命名空间的curlpod向prod命名空间的web pod的CURL请求截图如下:
Netowrk Policy 在 minikube 上不起作用的原因如前所述 here:
“普通的 minikube 安装 ( minikube start ) 不支持任何 NetworkPolicies,因为默认的 CNI Kindnet 在设计上不支持网络策略。但是,如果受支持的 CNI,例如 Calico,minikube 可以支持 NetworkPolicies , 已安装。