sil*_*gon 1 nginx kubernetes google-kubernetes-engine kubernetes-ingress
我让入口 nginx 工作在gcloud
. 但是,当我使用命令看到日志时kubectl log
$ kubectl logs nginx-ingress-controller-59f55c679c-zcr24
myhost.com/clients"
10.28.0.1 - [10.28.0.1] - - [14/May/2018:09:00:59 +0000] "GET /api/users/2/10 HTTP/1.1" 304 0 "http://myhost.com/clients" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0" 796 0.083 [default-back-main-80] 10.28.0.93:1337 0 0.083 304
2018/05/14 09:01:00 [notice] 10982#10982: *6937489 "/api/(.*)" matches "/api/users/1/10", client: 10.28.0.1, server: myhost.com, request: "GET /api/users/1/10 HTTP/1.1", host: "myhost.com", referrer: "http://myhost.com/clients"
2018/05/14 09:01:00 [notice] 10982#10982: *6937489 rewritten data: "/users/1/10", args: "", client: 10.28.0.1, server: myhost.com, request: "GET /api/users/1/10 HTTP/1.1", host: "myhost.com", referrer: "http://myhost.com/clients"
10.28.0.1 - [10.28.0.1] - - [14/May/2018:09:01:00 +0000] "GET /api/users/1/10 HTTP/1.1" 304 0 "http://myhost.com/clients" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0" 796 0.014 [default-back-main-80] 10.28.0.93:1337 0 0.014 304
Run Code Online (Sandbox Code Playgroud)
这只是日志的一部分,但是,所有 ip 都来自10.28.0.1
. 我想查看外部 ip,或我的用户的 ip。
此外,ip的root10.28.*.*
对我来说似乎有点奇怪。如果我显示容器的 IP,您会发现它似乎有所不同。
$ kubectl get service | awk '{print $3}'
CLUSTER-IP
10.31.243.114
10.31.245.58
10.31.241.148
10.31.240.1
Run Code Online (Sandbox Code Playgroud)
我知道其他容器中的请求来自私有 ip,但是在入口容器中我应该收到用户的外部 ip。我怎样才能看到这些ip?
看起来在使用 GKE 服务时必须保留源 IP (在您的情况下为外部 IP)。此处,默认设置为使用集群 IP,这意味着流量将通过 SNAT 并在节点之间传输。在此期间,\xe2\x80\x98Source IP\'(外部 IP)被替换为节点\xe2\x80\x99s IP(详细说明见本节)帮助中心文章中提供了详细说明)。
\n\n根据文章,通过将 \xe2\x80\x98 service.spec.externalTrafficPolicy \xe2\x80\x99 设置为值 \xe2\x80\x98 Local \xe2\x80\x99 ,这将绕过 SNAT,您也许可以将流量直接路由到正确的节点/pod,从而保留源 IP。
\n\n设置此exernalTrafficPolicy的命令为服务
\n\n$kubectl patch svc [service_name] -p \'{"spec":{"externalTrafficPolicy":"Local"}\'\n
Run Code Online (Sandbox Code Playgroud)\n\n在您的情况下,service_name=nginx-ingress-controller-59f55c679c-zcr24
\n 归档时间: |
|
查看次数: |
2047 次 |
最近记录: |