calico 关闭SNAT
- 默认情况下,calico 访问集群外网络是通过 SNAT 成宿主机 ip 方式,在一些金融客户环境中为了能实现防火墙规则,需要直接针对 POD ip 进行进行规则配置,所以需要关闭 natOutgoing
kubectl edit ippool/default-ipv4-ippool
natOutgoing: false
kind: IPPool
metadata:
annotations:
projectcalico.org/metadata: '{"uid":"0e2abc24-7a7a-11ec-93f8-000c29381724","creationTimestamp":"2022-01-21T05:21:58Z"}'
creationTimestamp: "2022-01-21T05:21:58Z"
generation: 2
name: default-ipv4-ippool
resourceVersion: "59534227"
uid: 1c4bfafc-9609-479c-b119-ad6d3f6310de
spec:
blockSize: 26
cidr: 10.0.0.0/16
ipipMode: Always
natOutgoing: false
nodeSelector: all()
- k8s集群外服务器需要配置路由才能回包
10.0.0.15 为pod ip地址
10.65.91.164 为pod 所在物理机ip地址
route add -host 10.0.0.15 gw 10.65.91.164