基于idea做java程序的本地k8s调试-skaffold(一)

本文介绍了如何在IDEA下利用skaffold工具解决微服务开发中遇到的环境配置和调试问题。skaffold是一款用于Kubernetes应用持续开发的命令行工具,通过自动化流程确保本地开发环境与运维环境的一致性。借助Cloud Code插件,开发者可以便捷地将应用部署到K8s集群并进行日志监控。文章详细讲解了skaffold的安装、配置以及所需文件,包括skaffold定义文件和K8s定义文件,帮助开发者实现快速、一致的本地调试体验。
摘要由CSDN通过智能技术生成

先介绍下本篇文章是基于ideas下开发微服务的场景,大家都知道微服务嘛,一个个微的服务...很多,先不谈调试,要跑起来都费力,可能的原因有:

  1. 环境变量的配置,如果多个项目穿插着来,env变量可能废了,乱了
  2. host文件的改变,有些环境变量是通过hostname来解析的,而不是ip,可能多个项目对应的hostname字符串都一个(但是ip不同),比如redis/mysql这种中间件名称的定义
  3. 有些基础服务,还不得不启动,才能有业务的run或者debug这说,不然免谈,跑不起来,比如认证服务、网关等,机器烂的话,呵呵了
  4. 其他等等等等

最后跑起来了,但是跑到运维环境里又出问题了,为啥?也许:

  1. ideas下run/debug模式和mvn打包后的jar不一致,可能class不一致,如版本不同,或者打了多个不同版本进jar里
  2. 环境变量不同,到了运维环境里,环境变量不一致,导致无法启动,比如找不到配置中心,然后就application start failed
  3. 其他等等等等

这么解决这些问题呢?用skaffold,下面先介绍下skaffold:

Skaffold是一款命令行工具,旨在促进Kubernetes应用的持续开发。

就是这么简短!就是说用k8s,然后套个持续集成的工具来自动化。只要发到和最终运维环境一致的环境下进行debug,不就解决了么。还真是,至于为什么这么说的逻辑推理,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值