服務快速整合開發測試利器: Telepresence
開發流程效率降低
當服務數量眾多難以跑在本地進行測試時,通常會選擇連線到遠端 Kubernetes 叢集,來解決部署與資源不足的困擾
但若正在開發測試的服務會連到其他叢集內部的服務時,通常有幾種選項:
- 建立新的容器映像檔,推送到 container registry 再部署至測試叢集內
- 找到需要的 Service,利用 kubectl port-forward 將本地端流量導到遠端叢集。若要連到多個服務就需要做多次相同動作。但最大缺點是它只支援單向的流量傳遞,意即只支援將本地端流量送往叢集內
兩種作法儘管可行,但都會極大程度的降低開發效率且有限制存在
整合開發測試利器: Telepresence
Telepresence 是用 Python 專門針對 Kubernetes 開發的一款服務開發測試用工具
TELEPRESENCE
它首先會在叢集內建立一個 proxy pod (Telepresence Pod),以及在本地建立一個本地 process (Telepresence Local Shell)。開發者這時候只需要在本地對應的 port 開啟要整合的服務後,
當客戶端連線到 Kubernetes Service 時,流量會經由 proxy pod 導到本地該 port 上,從而實現本地開發測試特定服務
。
https://medium.com/swlh/local-development-with-telepresence-256911cb21e9
UPDATE:
於 Cloud Native Taiwan User Group 社群聚會,我們分享有關於的 Telepresence 介紹與應用,一起來看看吧