云原生的四要素:持续交付、DevOps、微服务、容器,虽然极大的解放了生产力,但是不可避免的也带来了诸多问题,本文不做延伸,感兴趣的,可以自行百度。
本文只为解决微服务(本文以Spring Cloud为例)+Kubernetes开发调试低效问题。
如果团队内成员都有k8s基础,并且都用win10或者linux,macos,那建议直接用telepresence,简单直接。详见 Fast development workflow with Docker and Kubernetes , A development workflow for Kubernetes services
如果团队内k8s基础弱,或者硬件条件不满足,可以使用Service映射方案,在k8s集群里创建一个Service和Endpoint,然后进行绑定。但是适用于单向的,比如,k8s访问外部mysql,如果要逆向访问,不好意思,不支持。
https://github.com/jkwong888/k8s-add-static-routes
如果团队对于单院测试和Mock掌握的比较好,可以直接开启TDD模式,省事省心
k8s集群暴露远程调试接口。 Remote debugging Spring Boot on Kubernetes
应用发到本地pod里,省的走cicd那么费劲了