雲原生時代如何方便的進行本地除錯

趙安家發表於2019-01-21

雲原生時代如何方便的進行本地除錯

雲原生的四要素:持續交付、DevOps、微服務、容器,雖然極大的解放了生產力,但是不可避免的也帶來了諸多問題,本文不做延伸,感興趣的,可以自行百度。
本文只為解決微服務(本文以Spring Cloud為例)+Kubernetes開發除錯低效問題。

07e15debbba7479aabef8f861f3ef5f4.jpg

telepresence

如果團隊內成員都有k8s基礎,並且都用win10或者linux,macos,那建議直接用telepresence,簡單直接。詳見 Fast development workflow with Docker and KubernetesA development workflow for Kubernetes services

Service對映

如果團隊內k8s基礎弱,或者硬體條件不滿足,可以使用Service對映方案,在k8s叢集裡建立一個Service和Endpoint,然後進行繫結。但是適用於單向的,比如,k8s訪問外部mysql,如果要逆向訪問,不好意思,不支援。

靜態路由

github.com/jkwong888/k…

TDD

如果團隊對於單院測試和Mock掌握的比較好,可以直接開啟TDD模式,省事省心

遠端除錯

k8s叢集暴露遠端除錯介面。Remote debugging Spring Boot on Kubernetes

開發機納入叢集

應用發到本地pod裡,省的走cicd那麼費勁了

熱部署

開發機納入叢集后,把target\class掛載到本地卷,並且配置上rebel.xml,idea build後生成class,然後pod裡觸發jrebel的熱部署。 參考 www.telepresence.io/tutorials/j…

相關文章