Load-Balancing

Kubernetes - 我可以避免使用 GCE 負載均衡器來降低成本嗎?

  • April 8, 2019

我正在使用 Gitlab-CI 在 GCE 上部署 Kubernetes 集群。我想將成本降到最低 - 這是我目前的設置:

  • 節點在 3 個f1-micro實例上執行
  • Traefik使用 ServiceType 配置執行的系統 podLoadBalancer
  • 萬用字元 dns 已配置
  • 1個postgres 豆莢
  • ingress1 個為 Traefik 配置的Web 伺服器 pod

我想降低我的部署成本。大部分成本都在 GCE 負載均衡器上。有沒有辦法可以在 GCE 上使用公共 IP 地址而不是負載均衡器?如果是這樣,我可以使用分配給集群的 IP 地址(而不是保留靜態 IP)嗎?

換句話說,有沒有辦法在沒有負載均衡器的情況下使用 GCE 將臨時 IP 綁定到 Kubernetes 服務?

有沒有其他我可以做不同的配置來降低 GCE 的成本?

是的,通過 ExternalIPs。請注意,如果已分配外部 IP 的節點發生故障,這將意味著您的服務將關閉,但如果您只執行 1 個主節點,您可能不太關心這一點。

範例服務:

apiVersion: v1
kind: Service
metadata:
 name: myapp
spec:
 ports:
   - port: 80
     protocol: TCP
 selector:
   app: myapp
 externalIPs:
   - a.b.c.d

IP 需要是 GCE 實例的內部IP(這是因為 GCE DNAT 將流量傳輸到內部 IP)。然後應該可以通過節點分配的外部 IP 訪問該服務。

您可能希望更改入口控制器的服務,以便您可以通過一個 IP 路由所有應用程序。

引用自:https://serverfault.com/questions/863569