2017-08-29 79 views

回答

2

不可作爲環境變量。同時請記住,一個容器可以接收來自多個負載平衡器的流量,並且在容器啓動後外部IP可能會發生變化,從而導致陳舊的值;所以環境變量中的IP可能不是一個適當的解決方案。

如果您使用的是入口對象就可以判斷它是通過查詢Kubernetes API服務器的外部IP(試行kubectl get myingress -o yaml,看到status:部分)。

對於特定的傳入http請求檢查負載平衡器IP的X-Forwarded-For:標頭。

由於這個問題被標記google-container-engine,您還可以使用gcloud來獲取IP(可能是從一個initContainer或在啓動時):

  • 如果您使用的入口:gcloud compute forwarding-rules describe k8s-fw-YOURNAMESPACE-YOURINGRESSNAME--YOURHASHVALUE --global --format='value(IPAddress)'
  • 如果您有一個靜態IP保留:gcloud compute addresses describe my-static-ip-name --global --format='value(address)'