CKA [Installation] – NetworkPolicy例子2,允许 ingress traffic

根据这个例子,policyTypes 声明使用了Ingress和Egress但是,由于Egress没有配置所以默认就是deny所有Egress的请求,而Ingress的配置是空的,那么就是允许所有的pod都能访问

✅ 实验案例

1. 创建NetworkPolicy , 由于yaml没有注明是什么namespace, 所以默认是创建在default namespace

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: example-2
spec:
  podSelector: {}
  ingress:
  - {}
  policyTypes:
  - Ingress
  - Egress
kubectl apply -f netpol.yaml

2. 运行pod1 和 pod2

kubectl run pod1 --image=alpine/curl -- sleep 36000
kubectl run pod2 --image=alpine/curl -- sleep 36000

3. 查看pod的ip

kubectl get pods -o wide

4. 进入pod1 去ping pod2的ip , 我们会发现无法ping到pod2 。对于pod2 是ingress , 而对于pod1 是egress ,由于目前所有的egress是被封的,所以流量停留在pod1出不去。

kubectl exec -it pod1 -- sh
ping 10.244.120.69

5. 如果我们在其他的namespace 创建了pod3 的话,那么流量就不受约束并且能够进入到pod2当中

kubectl create ns testing
kubectl run pod3 -n testing --image=alpine/curl -- sleep 36000

6. 进入pod3 ,就能ping到 pod2

kubectl exec -it pod3 -n testing -- sh
ping 10.244.120.69

Loading

Facebook评论