iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0

前言

在本地環境運行的 Minikube 叢集,通常只能在主機內部訪問。然而,為了實現我們的目標,我們希望將 Minikube 叢集的服務進行外部代理,使得外部用戶也能夠訪問。這就是今天要探討的主題。

ingress架構

Minikube 叢集的 IP 位於本機內部網路的下一層,因此僅限於本機訪問。為了實現外部訪問,我們需要使用 Ingress 進行內部的負載平衡,同時,我們還需要一個外部代理,我們可以使用之前提到的 Nginx。

以下是 Ingress 架構的示意圖:
https://ithelp.ithome.com.tw/upload/images/20230818/20161653crn2Zd1YmL.png
https://ithelp.ithome.com.tw/upload/images/20230818/20161653H4JDASU15l.png

nginx代理

為了實現外部代理,我們需要在 Nginx 中設定相應的代理規則。具體來說,proxy_pass 的設定需要與 Ingress 的 host 一致,而 host 則需要與 /etc/hosts 中的設定保持一致。
https://ithelp.ithome.com.tw/upload/images/20230818/20161653OSQeTzBjY2.png

附贈常用指令

查看外部訪問日誌

$ 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 內部的應用程式。這對於開發和測試多節點、多服務的應用程式非常有用。


上一篇
[Day18]ConfigMap 和 Secret
下一篇
[Day20]深入探討持續整合與持續交付(CI/CD):自動化軟體交付的關鍵
系列文
在open source環境,建置container環境及k8s(Minikube)的API佈署環境30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言