*确认使用了支持网络策略的网络插件,这里使用的是calico
查看网络环境及各个pod的labels,缺省情况下,所有pod之间可以自由访问
新建网络策略access-test1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: access-test1
spec:
podSelector:
matchLabels:
version: test1
ingress:
- from:
- podSelector:
matchLabels:
run: client
ports:
- protocol: TCP
port: 80
创建网络策略对象后,可以查看详细信息
配置生效后,client不能ping通test1,可以ping通test2,可以访问test1的80端口
网络策略中的From可以有三种配置ipBlock、namespaceSelector 和podSelector,可以通过增加ipBlock的方式,允许kube-node2上的busybox-httpd-test2-7d5f874698-46h9f访问10.244.1.118的80端口.
确认修改策略之间是不能访问的
修改NetworkPolicyaccess-test1,增加ipBlock 10.244.1.0/24
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: access-test1
spec:
podSelector:
matchLabels:
version: test1
ingress:
- from:
- podSelector:
matchLabels:
run: client
- ipBlock:
cidr: 10.244.1.0/24
ports:
- protocol: TCP
port: 80
验证策略修改成功
网友评论