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

  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,不就解决了么。还真是,至于为什么这么说的逻辑推理,大家自己百度。

下面就看看skaffold是如何持续发布到k8s的

只需要1个按钮,就能发布到k8集群里,并且日志什么的,状态监控等等都有了,当然,前提是装完以及配置完相应插件。效果目前为止挺好。

需要安装的ideas插件:Cloud Code, 同样是google出品(skaffold同样是google出品)

然后进行配置:

上述红框框内的3个命令行,需要大家自行安装

  1. skaffold:https://skaffold.dev/docs/install/#standalone-binary

  2. minikube: https://minikube.sigs.k8s.io/docs/start/

安装相对容易,这里不展开了。

启动minikube集群时,需要注意些参数配置,因为防火墙的关系,默认会打包失败,或者无法下载情况出现,我这的启动参数如下:

–force是因为我本机是ubuntu的root账号,必须加这个参数才能启动集群

–image开头的参数都是国内代理

总结

如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了

《Java中高级核心知识全面解析》

小米商场项目实战,别再担心面试没有实战项目:

lKbid-1720095127399)]

小米商场项目实战,别再担心面试没有实战项目:

[外链图片转存中…(img-ronIPNYk-1720095127400)]

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值