云原生的四要素:持续交付、DevOps、微服务、容器,虽然极大的解放了生产力,可是不可避免的也带来了诸多问题,本文不作延伸,感兴趣的,能够自行百度。
本文只为解决微服务(本文以Spring Cloud为例)+Kubernetes开发调试低效问题。java
若是团队内成员都有k8s基础,而且都用win10或者linux,macos,那建议直接用telepresence,简单直接。详见 Fast development workflow with Docker and Kubernetes,A development workflow for Kubernetes servicesmysql
若是团队内k8s基础弱,或者硬件条件不知足,能够使用Service映射方案,在k8s集群里建立一个Service和Endpoint,而后进行绑定。可是适用于单向的,好比,k8s访问外部mysql,若是要逆向访问,很差意思,不支持。linux
若是团队对于单院测试和Mock掌握的比较好,能够直接开启TDD模式,省事省心github
k8s集群暴露远程调试接口。Remote debugging Spring Boot on Kubernetesspring
应用发到本地pod里,省的走cicd那么费劲了sql
开发机归入集群后,把target\class挂载到本地卷,而且配置上rebel.xml,idea build后生成class,而后pod里触发jrebel的热部署。 参考 www.telepresence.io/tutorials/j…docker