透過K8S Ingress 和 NodePort service直接連線Pod中的App

閱讀時間約 4 分鐘
上一篇介紹如何將Docker image部屬到Minikube,由於Pod 使用的是 K8S內部的 IP,無法從外部直接連線,所以是用minikube ssh來做測試,但是在真實環境中,總是要能有url可以直接連線到app,因此這邊可以使用k8s的Service。
建立一個監聽5001 port 的 NodePort Service hello-world,將連線導向pod的5000 port:
$ kubectl expose pod hello-world --port=5001 --target-port=5000 --type=NodePort
取得 service 的對外k8s node ip 和 port:
$ minikube service hello-world --url

#NodePort 模式下,Service 的port會對應到 k8s node上的port,所以只要得到k8s node的 IP 和port,就可以從node外部直接連線到 Service。

#Note:
刪除service:
$ kubectl delete svc hello-world

取得services:
$ kubectl get services
到這邊已經可以直接從外部ip連到k8s內部的app了,但是用ip來記是不是很不方便呢?
這邊可以使用k8s的ingress元件,先啟用:
$ minikube addons enable ingress

Ingress需要撰寫yaml檔來做設定,以 minikube 內建的 Nginx Ingress 為例,建立一個hello-world-ingress.yaml:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: vic-example
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - host: hello.world.minikube
    http:
      paths:
      - path: /(.*|$)
        backend:
          serviceName: hello-world
          servicePort: 5001

其中host是對外的domain name,有點類似在設定apache的server name,設定好申請的domain即可從外部直接連線過來。
serviceName跟servicePort則填寫上面建立好的Service。


建立一個名為vic-example的Ingress:
$ kubectl apply -f hello-world-ingress.yaml

查看Ingress:
$ kubectl get ingress
由於這只是範例,並不是真的有hello.world.minikube這個domain name,因此為了模擬測試,可以在/etc/hosts中加入host ip mapping:
$ sudo nano /etc/hosts
測試:
到這邊為止,就可以透過好記的url來連線到開發的app了呢!

#Note:
刪除Ingress:
$ kubectl delete ingress vic-example
為什麼會看到廣告
avatar-img
21會員
161內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
透過CI/CD工具,如最常見的Jenkins,可以讓工程師專注在開發上,只要將code push到git後,就會有一整套完整的整合、測試、部屬流程,可以大大節省很多時間呢。
透過CI/CD工具,如最常見的Jenkins,可以讓工程師專注在開發上,只要將code push到git後,就會有一整套完整的整合、測試、部屬流程,可以大大節省很多時間呢。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
2024年8月,長野縣上信越高速公路上發生了一起令人心痛的交通事故。一輛載有一家五口的露營車翻倒,導致一名8歲男童不幸身亡,一名70歲的祖母骨折,一名74歲的祖父也受輕傷。這事件引發了人們對日本交通系統的深刻反思。本文將從這場悲劇的角度探討日本交通系統的設計、運作.
Thumbnail
有效誘因不在於金額大小,而在於所傳達的訊息。以COVID-19疫苗接種為例,提供與目標相關的獎勵,如免費公園門票,比高額現金更有效。環保政策中,微小的塑膠袋收費也能傳達環境優先訊息。Gneezy提醒我們,成功的誘因設計關鍵在於訊號與目標的匹配,而非單純的獎懲。
1. 追求數量而忽略質量,捨本逐末: - 有些同學熱衷於在社群媒體上分享自己一年內讀了多少本書,或者是短時間內讀完了多少書籍,似乎這樣的紀錄能夠證明他們的學習成果。然而,閱讀的真正價值並不在於你讀了多少本書,而在於你從這些書中獲得了什麼樣的啟發和理解。單純追求閱讀數量,往往會導致浮躁的學習態
Thumbnail
有些來到讀書會的學員,常常會覺得自己生活、工作也算穩定,面對自己擅長領域即便忙碌也都可以扛得住,但是遇到自己不熟悉、不擅長的人事物時,就會感到一股莫名焦慮或不耐煩;就如奧運選手獲得金牌後,選手們也要面對媒體訪談應對、粉絲及諸多言論的討論,包括回國後行動出入也可能不那麼輕鬆自在了,好多排山倒海的事
Thumbnail
之前介紹過這個透過貢獻閒置網路流量以換取點數的Grass Network,這個項目看起來要進入下一階段,感覺離正式發幣不遠了。
Thumbnail
這篇文章記錄「與情緒溫柔相處工作坊」中習得的轉化情緒方法。作者分享了自己的心得,並對情緒背後的正向意圖,結合個人情感與成長啟示,提出深度思考。並紀錄如何利用 NLP 基礎技巧來調整大腦裡的素材元素,以及如何運用逐步抽離法改善對負面情緒的影響。
上一次我們談到了目標設定和人們對於執行力的選擇 今天我們則是要來聊聊,當你為自己設定了一個目標之後,可以透過什麼樣的方式去執行、面對壓力後該如何去思考學習、並且更專注於個人的目標上~     (圖片來源:https://www.dreamstime.com/freedom-word-writ
你的思想自由嗎?你的想法清晰嗎? 你的目標是什麼?你會為了達成目標做什麼樣的努力呢? 如果你是一個會為自己設定目標的人,那你是一個會努力達成自己計劃的人嗎?或是你發現自己時常會半途而廢呢? 我們的目標不應該只是一長串的待辦事項,而是讓生活上更有動力的來源。
Thumbnail
專題式學習是一種有益於幼兒成長的教學方式,通過引發問題、實際參與和統整學習內容,幫助孩子建立持久和有影響力的學習。本文探討了專題式學習的特點和如何幫助孩子進行問題驅動的學習。
手寫書目卡是一種獨特而有效的預寫作技巧,專為那些希望從閱讀中提煉和聚焦精華想法的作家和讀者設計。這種方法可以幫助你更高效率地選擇和整理從閱讀獲得的靈感。但是,這個過程也伴隨著一些挑戰。讓我們探索這些挑戰,並提出可能的解決方案。 挑戰1 - 選擇性記錄的難度:由於書目卡的空間有限,且手寫本身就是一項
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
2024年8月,長野縣上信越高速公路上發生了一起令人心痛的交通事故。一輛載有一家五口的露營車翻倒,導致一名8歲男童不幸身亡,一名70歲的祖母骨折,一名74歲的祖父也受輕傷。這事件引發了人們對日本交通系統的深刻反思。本文將從這場悲劇的角度探討日本交通系統的設計、運作.
Thumbnail
有效誘因不在於金額大小,而在於所傳達的訊息。以COVID-19疫苗接種為例,提供與目標相關的獎勵,如免費公園門票,比高額現金更有效。環保政策中,微小的塑膠袋收費也能傳達環境優先訊息。Gneezy提醒我們,成功的誘因設計關鍵在於訊號與目標的匹配,而非單純的獎懲。
1. 追求數量而忽略質量,捨本逐末: - 有些同學熱衷於在社群媒體上分享自己一年內讀了多少本書,或者是短時間內讀完了多少書籍,似乎這樣的紀錄能夠證明他們的學習成果。然而,閱讀的真正價值並不在於你讀了多少本書,而在於你從這些書中獲得了什麼樣的啟發和理解。單純追求閱讀數量,往往會導致浮躁的學習態
Thumbnail
有些來到讀書會的學員,常常會覺得自己生活、工作也算穩定,面對自己擅長領域即便忙碌也都可以扛得住,但是遇到自己不熟悉、不擅長的人事物時,就會感到一股莫名焦慮或不耐煩;就如奧運選手獲得金牌後,選手們也要面對媒體訪談應對、粉絲及諸多言論的討論,包括回國後行動出入也可能不那麼輕鬆自在了,好多排山倒海的事
Thumbnail
之前介紹過這個透過貢獻閒置網路流量以換取點數的Grass Network,這個項目看起來要進入下一階段,感覺離正式發幣不遠了。
Thumbnail
這篇文章記錄「與情緒溫柔相處工作坊」中習得的轉化情緒方法。作者分享了自己的心得,並對情緒背後的正向意圖,結合個人情感與成長啟示,提出深度思考。並紀錄如何利用 NLP 基礎技巧來調整大腦裡的素材元素,以及如何運用逐步抽離法改善對負面情緒的影響。
上一次我們談到了目標設定和人們對於執行力的選擇 今天我們則是要來聊聊,當你為自己設定了一個目標之後,可以透過什麼樣的方式去執行、面對壓力後該如何去思考學習、並且更專注於個人的目標上~     (圖片來源:https://www.dreamstime.com/freedom-word-writ
你的思想自由嗎?你的想法清晰嗎? 你的目標是什麼?你會為了達成目標做什麼樣的努力呢? 如果你是一個會為自己設定目標的人,那你是一個會努力達成自己計劃的人嗎?或是你發現自己時常會半途而廢呢? 我們的目標不應該只是一長串的待辦事項,而是讓生活上更有動力的來源。
Thumbnail
專題式學習是一種有益於幼兒成長的教學方式,通過引發問題、實際參與和統整學習內容,幫助孩子建立持久和有影響力的學習。本文探討了專題式學習的特點和如何幫助孩子進行問題驅動的學習。
手寫書目卡是一種獨特而有效的預寫作技巧,專為那些希望從閱讀中提煉和聚焦精華想法的作家和讀者設計。這種方法可以幫助你更高效率地選擇和整理從閱讀獲得的靈感。但是,這個過程也伴隨著一些挑戰。讓我們探索這些挑戰,並提出可能的解決方案。 挑戰1 - 選擇性記錄的難度:由於書目卡的空間有限,且手寫本身就是一項