iT邦幫忙

2021 iThome 鐵人賽

DAY 29
1
DevOps

k8s歷險記系列 第 29

Day29- 這是替身攻擊!! 替換你的pod Telepresence

在前面我們介紹到了各種建立以及產生pod的方式,但是當你已經建構好一個系統後,寫好的程式要更新以及測試,通常都要build完image後,更新到你的測試環境,但是這樣一來一往測試速度會比較慢,且有些東西在本機不方便測試。
這時Telepresence就派上用場了,他能夠在不需要build image更新線上pod的情況下,讓你測試寫好的程式,就讓我們來介紹它。

什麼是Telepresence

fast, efficient local development for Kubernetes microservices
從官方標語可以看出,Telepresence對k8s的微服務提供了快速 有效的本地開發,他提供了兩個好處:

  1. 在本地用你習慣的ide和工具運行要測試的服務
  2. 在雲端環境運行周邊的應用程式,就不用在本機把相關服務裝過一遍。

Telepresence會在本機建立一個Deployment,透過這個Deployment,他會建立一個vpn-tcp,把流量轉導到你本機。
示意圖
(圖片來源:https://medium.com/swlh/local-development-with-telepresence-256911cb21e9)
透過這種方式就可以省去花時間build image替換線上環境的pod了。

安裝Telepresence

跟前面其它套件相同,在官網有各種os的安裝方式,不過這邊只介紹brew安裝:

    brew install datawire/blackbird/telepresence

要確定是否安裝成功,可以透過version測試:

    telepresence version

如果有印出版本代表成功安裝了。

對於測試的部分,官方有提供範例
如果本身沒有或是不想安裝k8s cluster,就使用左邊的就使用左邊的Use Our Free Demo Cluster
如果已經有k8s cluster的人,就用右邊的Use Your Cluster
裡面還有各種語言的範例以及當你執行他的指令但是失敗時的處理方式,基本上是滿詳細的,建議可以參考官方教學進行即可。

明天就是鐵人賽的最後一天了,這趟走來說長不長,說短不短,就來講講這段時間的心得。


上一篇
Day28- 你都用什麼debug kubectl-debug
下一篇
Day30- 結語與完賽感言
系列文
k8s歷險記30

尚未有邦友留言

立即登入留言