在本地環境運行的 Minikube 叢集,通常只能在主機內部訪問。然而,為了實現我們的目標,我們希望將 Minikube 叢集的服務進行外部代理,使得外部用戶也能夠訪問。這就是今天要探討的主題。
Minikube 叢集的 IP 位於本機內部網路的下一層,因此僅限於本機訪問。為了實現外部訪問,我們需要使用 Ingress 進行內部的負載平衡,同時,我們還需要一個外部代理,我們可以使用之前提到的 Nginx。
以下是 Ingress 架構的示意圖:
為了實現外部代理,我們需要在 Nginx 中設定相應的代理規則。具體來說,proxy_pass 的設定需要與 Ingress 的 host 一致,而 host 則需要與 /etc/hosts 中的設定保持一致。
查看外部訪問日誌
$ minikube kubectl -- get pod -n ingress-nginx
$ kubectl logs <ingress pod name> -n ingress-nginx
查看服務日誌
$ kubectl get pod
$ kubectl logs <pod-name>
這些指令將幫助您監視並除錯外部代理和 Ingress 的相關問題。
透過以上的設定和指令,您可以在 Minikube 中使用 Ingress 實現外部代理,讓外部用戶也能夠訪問您的服務。
在這篇文章中,我們學習了如何在 Minikube 中使用 Ingress 來實現外部代理。通過設定 Nginx 代理,我們能夠有效地將流量導向到 Minikube 內部的應用程式。這對於開發和測試多節點、多服務的應用程式非常有用。