繁体   English   中英

如何在 Kubernetes 中修改 Pod 的源 IP?

[英]How to modify source IP for a Pod in Kubernetes?

改变源IP到100.101.102.103用于输出数据到特定目的地,我修改一个Kubernetes波德的容器内的iptables通过执行iptables的CLI工具:

iptables -t nat -A POSTROUTING --destination 100.200.150.50/32 -j SNAT --to-source 100.101.102.103

但是它阻止了我到该目的地的传出数据,并且似乎数据被捕获在容器内,例如,当我通过 Curl 发送一个简单的请求并通过 Tcpdump 工具观察它时。

主要问题可以是:如何为集群外的目的地修改 Kubernetes 中 Pod 的源 IP?

附注 我在具有NET_ADMINNET_RAW访问权限的特权模式下部署了我的 pod。

我在 Kubernetes Pod 的容器内修改了 iptables

我建议不要这样做,因为它可能会损坏 kubernetes 的 CNI 和/或 kube-proxy。 相反,请考虑使用 kubernetes 出口在到集群外目的地的传出数据包中具有众所周知的源 IP 地址。

从 k8s 集群到集群外目的地的出口数据包将节点的 IP 作为源 IP。

https://kubernetes.io/docs/tutorials/services/source-ip/说来自 k8s 的出口数据包使用节点的 IP 进行源 NAT:

源 NAT :替换数据包上的源 IP,通常使用节点的 IP

以下可用于从 k8s 集群发送出口数据包:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM