Proxy
使主機埠可從 Kubernetes 的容器內訪問
我們已經在一組(虛擬)Linux 主機上建立了一個 Kubernetes 集群。每個主機在主機的
127.0.0.1:3128
. 要從此網路訪問外部 HTTP/HTTPS 資源,必須使用代理。我們希望從集群中的容器內訪問外部網路。在給定主機上執行的容器應使用來自該主機的 HTTP(s) 代理實例。
我們如何讓這些代理服務在容器中可用?
節點的 IP 始終可通過 容器訪問,並且可以使用語法
fieldRef:
引用其他env:
成員(注意它不是shell 語法,它是 kubernetes 插值語法)$()
spec: containers: - name: use-proxy env: - name: NODE_IP valueFrom: fieldRef: fieldPath: status.hostIP - name: HTTP_PROXY value: $(NODE_IP):3128 - name: HTTPS_PROXY value: $(NODE_IP):3128
並且不要忘記,如果它執行 MITM 行為,您可能需要為 HTTPS 代理注入 CA
另請注意,如果它實際上綁定到節點上的 127.0.0.1,您將無法從 kubernetes 集群內部訪問它,因為這些介面不被視為“本地主機”。您需要使代理對 CNI 介面可用