【发布时间】:2021-09-13 10:32:15
【问题描述】:
我需要阻止 pod 之间的通信,但我没有这样做。
我在我的 Minikube (v1.21.0) 上安装了weave plug-in,并在同一个命名空间中启动了两个 pod:
kubectl run nginx1 --image=nginx -n ns1
kubectl run nginx2 --image=nginx -n ns2
Pod IP:nginx1 IP:172.17.0.3nginx2 IP:172.17.0.4
我可以从 nginx2 ping nginx1 和副 vesra。
我想尝试拒绝它,所以我首先尝试使用此网络策略拒绝所有网络:
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: netpol1
namespace: earth
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
ingress: []
egress: []
EOF
我还是 ping,所以我也尝试了这个:
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: netpol1
namespace: earth
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 0.0.0.0/0
except:
- 172.17.0.0/16
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
except:
- 172.17.0.0/16
EOF
我仍然可以从同一命名空间中的其他 pod 中对每个 pod 执行 ping 操作。
我验证了weave 已安装:
NAME READY STATUS RESTARTS AGE
coredns-74ff55c5b-2r5z8 1/1 Running 0 2d3h
etcd-ip-172-31-37-46 1/1 Running 0 2d3h
kube-apiserver-ip-172-31-37-46 1/1 Running 0 2d3h
kube-controller-manager-ip-172-31-37-46 1/1 Running 0 2d3h
kube-proxy-787pj 1/1 Running 0 2d3h
kube-scheduler-ip-172-31-37-46 1/1 Running 0 2d3h
storage-provisioner 1/1 Running 0 2d3h
weave-net-wd52r 2/2 Running 1 23m
我也尝试重新启动 kubelet,但我仍然可以从每个 pod 访问另一个。
可能是什么原因?
【问题讨论】:
标签: kubernetes minikube kubernetes-networkpolicy