云原生时代如何方便的进行本地调试

云原生时代如何方便的进行本地调试

云原生的四要素:持续交付、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…

猜你喜欢

转载自juejin.im/post/5c45461e6fb9a049b82ac5e0