关于 Java 服务上 k8s 的最佳实践(配置文件和 debug)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
asanelder
V2EX    程序员

关于 Java 服务上 k8s 的最佳实践(配置文件和 debug)?

  •  
  •   asanelder 2021-05-14 17:45:40 +08:00 2253 次点击
    这是一个创建于 1612 天前的主题,其中的信息可能已经有所发展或是发生改变。
    俺现在按照公司要求, 要将 java 服务上 k8s, 但有几点不明, 想问问做过的老铁们, 以下几个方面的最佳实践是什么

    一 配置文件

    本来配置文件就是跟随代码的, 为不同的环境创建不同的配置文件, maven 打包时, 根据环境参数就可以打包不同的配置文件.

    这样的好处就是

    1. 可以很直观的看到不同环境的配置
    2. 选择适当的配置文件, 可以直接本地启动服务(进而可以很方便的 debug)

    但, 如果使用 ConfigMap 的形式, 是不是需要把所有 java 服务的配置文件使用一个单独的 repo 来管理起来? 而且这些配置文件的更新也是要走单独的 CI/CD 流程?

    而这样的话, java 服务本身就不需要知道具体的配置是什么了?

    二 远程 debug

    原来 java 在虚拟机上运行时, 俺可以很方便的远程 debug, 但现在服务以 pod 形式运行, 而 pod 的生命周期交给了 k8s. 俺想 debug 的话, 得

    1. 先打开 k8s 的端口转发
    2. debug 期间, 健康探针如果发现服务"不健康"了(其实还是健康的, 只是俺在 debug), pod 就会被干掉, 这样就无法继续调试了, 怎么办?
    7 条回复    2021-05-18 15:18:45 +08:00
    Ariver
        1
    Ariver  
       2021-05-14 17:49:42 +08:00
    你的问题不是上 k8s,而是容器化。
    第一个问题是这样的,配置只跟环境有关,不同环境运行的容器镜像应该是一致的。
    要达到这样的状态,你需要做一些工作。
    第二个,远程 debug 的时候为啥会认为服务不健康呢?
    tairan2006
        2
    tairan2006  
       2021-05-14 17:55:51 +08:00
    1. 上配置中心;
    2. 测试环境你可以关了健康检查?
    chendy
        3
    chendy  
       2021-05-14 18:54:13 +08:00
    1. configmap 挂载进去,确实可以用单独的仓库放配置
    2. 多打点 log,试试 Arthas
    defunct9
        4
    defunct9  
       2021-05-14 23:57:49 +08:00 via iPhone
    刚帮一个公司把 php 搬到阿里 ack 上。让我继续来
    RedrumSherlock
        5
    RedrumSherlock  
       2021-05-15 07:46:23 +08:00 via Android
    第一个如果用 spring 的话可以看看 spring cloud kubernetes,第二个如果是用 intellij 或是 vs code 开发的话,可以用 google 的 cloud code 来远程 debug
    dayeye2006199
        6
    dayeye2006199  
       2021-05-15 16:11:03 +08:00
    1. configmap 作为本地文件挂载到 pod 里面
    2. 可以用 skaffold 远程调试: https://skaffold.dev/
    asanelder
        7
    asanelder  
    OP
       2021-05-18 15:18:45 +08:00
    @Ariver #1
    @tairan2006 #2
    @chendy #3
    @defunct9 #4
    @RedrumSherlock #5
    @dayeye2006199 #6

    感谢大佬们建议, 刚接触这玩意, 俺要按着大佬们的方向摸索一番
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:52 PVG 02:52 LAX 11:52 JFK 14:52
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86