我用这个命令启动了minikube
minikube start --network-plugin=cni --cni=calico
字符串
我用这个文件在默认命名空间中创建nginx pod
apiVersion: v1
kind: Pod
metadata:
name: web
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
ports:
- containerPort: 80
protocol: TCP
型
我在qa命名空间中创建了一个pod,以使用此文件在默认命名空间中 curl nginx
apiVersion: v1
kind: Pod
metadata:
name: curl-pod
spec:
containers:
- name: curlpod
image: radial/busyboxplus:curl
command:
- sh
- -c
- while true; do sleep 1; done
型
当我 curl 它工作得很好,
在那之后,我需要在我的默认命名空间中拒绝进入nginx pod的流量,所以我应用了这个网络策略
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
spec:
podSelector: {}
policyTypes:
- Ingress
型
但是当我从qa命名空间中的pod curl 时,它不会做任何事情,它返回响应200 ok。
我不知道该怎么办,谁能帮帮我。
1条答案
按热度按时间4uqofj5v1#
你可以尝试将minikube start命令改为:
字符串
然后验证Calico是否已安装并运行:
型
如果你想要一个全局默认的deny(所有命名空间),试试这个:
型
如果你想把它命名为你的默认ns,试试这个:
型