Calico相关
Calico,支持BGP路由学习功能;支持IPIP,是种三层隧道网络;
Calico的默认网段:192.168.0.0/16,支持IPtables和IPvs(Calico在v3.17及以上版本才开始支持IPVS模式)
这里是Flannel(IPAM)+Calico(NetworkPolicy)
参考链接:Installing Calico for policy and flannel (aka Canal) for networking
具体操作命令:curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/canal.yaml -O
policyTypes(控制规则是否生效,默认拒绝)
- egress:to(ipBlock / namespaceSelector / podSelector), ports(port + protocol);
- Ingress:from(ipBlock / namespaceSelector / podSelector), ports(port + protocol);
Network Policy
网络策略:
初始名称空间namespace级别的网络安全策略设置:
-
建议拒绝所有出站和所有入站的规则;
-
放行所有出站和入站目标地址为自身所在名称空间内的所有Pod;
NetworkPolicy的示例yaml:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.17.0.0/16
except:
- 172.17.1.0/24
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
参考链接:Network Policy