gpt4 book ai didi

kubernetes - Kubernetes不保留源IP

转载 作者:行者123 更新时间:2023-12-02 12:23:31 25 4
gpt4 key购买 nike

我已经使用以下配置安装了kubernetes 1.2.0

export nodes="user@10.0.0.30 user@10.0.0.32"
export role="ai i"
export NUM_NODES=2
export SERVICE_CLUSTER_IP_RANGE=192.168.3.0/24
export FLANNEL_NET=172.16.0.0/16
export KUBE_PROXY_EXTRA_OPTS="--proxy-mode=iptables"

我创建了一个Nginx Pod,并使用负载均衡器和外部IP地址公开
kubectl expose pod my-nginx-3800858182-6qhap --external-ip=10.0.0.50 --port=80 --target-port=80

我在裸机上使用kubernetes,因此我已将10.0.0.50 ip分配给主节点。

如果我尝试curl 10.0.0.50(来自外部kubernetes)并在nginx pod上使用tcpdump我看到流量,则源ip始终来自kubernetes主节点
17:30:55.470230 IP 172.16.60.1.43030 > 172.16.60.2.80: ...
17:30:55.470343 IP 172.16.60.2.80 > 172.16.60.1.43030: ...

我正在使用mode-proxy = iptables。并需要获取实际的源IP。我究竟做错了什么 ?

最佳答案

这是在Kubernetes 1.5(docs here)中作为注释添加的。

在1.7中,它已升级到GA,因此您可以使用spec.externalTrafficPolicy字段(docs here)在服务上指定负载平衡策略:

{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "example-service",
},
"spec": {
"ports": [{
"port": 8765,
"targetPort": 9376
}],
"selector": {
"app": "example"
},
"type": "LoadBalancer",
"externalTrafficPolicy": "Local"
}
}

关于kubernetes - Kubernetes不保留源IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com