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