-
环境变量的配置,如果多个项目穿插着来,env变量可能废了,乱了
-
host文件的改变,有些环境变量是通过hostname来解析的,而不是ip,可能多个项目对应的hostname字符串都一个(但是ip不同),比如redis/mysql这种中间件名称的定义
-
有些基础服务,还不得不启动,才能有业务的run或者debug这说,不然免谈,跑不起来,比如认证服务、网关等,机器烂的话,呵呵了
-
其他等等等等
最后跑起来了,但是跑到运维环境里又出问题了,为啥?也许:
-
ideas下run/debug模式和mvn打包后的jar不一致,可能class不一致,如版本不同,或者打了多个不同版本进jar里
-
环境变量不同,到了运维环境里,环境变量不一致,导致无法启动,比如找不到配置中心,然后就application start failed
-
其他等等等等
这么解决这些问题呢?用skaffold,下面先介绍下skaffold:
Skaffold是一款命令行工具,旨在促进Kubernetes应用的持续开发。
就是这么简短!就是说用k8s,然后套个持续集成的工具来自动化。只要发到和最终运维环境一致的环境下进行debug,不就解决了么。还真是,至于为什么这么说的逻辑推理,大家自己百度。
下面就看看skaffold是如何持续发布到k8s的
只需要1个按钮,就能发布到k8集群里,并且日志什么的,状态监控等等都有了,当然,前提是装完以及配置完相应插件。效果目前为止挺好。
需要安装的ideas插件:Cloud Code, 同样是google出品(skaffold同样是google出品)
然后进行配置:
上述红框框内的3个命令行,需要大家自行安装
-
skaffold:https://skaffold.dev/docs/install/#standalone-binary
-
minikube: https://minikube.sigs.k8s.io/docs/start/
安装相对容易,这里不展开了。
启动minikube集群时,需要注意些参数配置,因为防火墙的关系,默认会打包失败,或者无法下载情况出现,我这的启动参数如下:
–force是因为我本机是ubuntu的root账号,必须加这个参数才能启动集群
–image开头的参数都是国内代理
总结
如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了
《Java中高级核心知识全面解析》
小米商场项目实战,别再担心面试没有实战项目:
lKbid-1720095127399)]
小米商场项目实战,别再担心面试没有实战项目:
[外链图片转存中…(img-ronIPNYk-1720095127400)]