V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
lysS
V2EX  ›  Go 编程语言

容器化怎么 debug 啊?

  •  
  •   lysS · 2023-02-08 10:57:41 +08:00 · 3038 次点击
    这是一个创建于 436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我当前在弄 k8s 的 controller ;改了代码,得构建镜像然后 apply 到集群才能工作。现在就只能是到处 fmt... 关键这个过程很慢,严重拉低开发效率

    19 条回复    2023-02-09 13:52:10 +08:00
    julyclyde
        1
    julyclyde  
       2023-02-08 11:12:12 +08:00
    所以你为什么要容器化呢
    为什么不调试好再放进去呢
    zxzflower575
        2
    zxzflower575  
       2023-02-08 11:13:14 +08:00
    本地也能调试,只要能连接上一个 K8s 集群就行.
    AmosAlbert
        3
    AmosAlbert  
       2023-02-08 11:40:55 +08:00
    容器化是为了部署,不是为了开发
    feedcode
        4
    feedcode  
       2023-02-08 11:50:14 +08:00
    容器化是好大一块,看你用的是什么库和工具。本地测试可以参考 kubebuilder 的实现 https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/envtest
    runinhard
        5
    runinhard  
       2023-02-08 11:53:00 +08:00 via iPhone
    你认真搜索下,有相关方案的。
    我们组以前研究过,关键字我忘记了
    lysS
        6
    lysS  
    OP
       2023-02-08 11:54:17 +08:00
    @feedcode 就是 kubebuil 写 operator
    nicebird
        7
    nicebird  
       2023-02-08 12:11:00 +08:00
    优先本地测,然后才是容器化集群的测试。

    想要本地测,需要你们服务集群支持多种模式的部署。
    sadfQED2
        8
    sadfQED2  
       2023-02-08 12:13:13 +08:00 via Android
    容器运行也支持 debug 呀,你搜索 go dlv 远程调试
    FabricPath
        9
    FabricPath  
       2023-02-08 12:16:26 +08:00
    cicd 搞好,git push 之后喝杯咖啡回来看日志。

    不过为啥不在本地调好了再部署?
    guanzhangzhang
        10
    guanzhangzhang  
       2023-02-08 12:22:31 +08:00
    nocalhost 那啥
    或者开下权限,dlv 远程调试 https://zhangguanzhang.github.io/2021/07/20/dlv-remote/
    zhujq
        11
    zhujq  
       2023-02-08 13:12:46 +08:00
    本地跑 operator ,也能连上远程 k8s 进行 debug 啊
    不需要构建镜像
    rocmax
        12
    rocmax  
       2023-02-08 13:23:34 +08:00 via Android
    kiddingU
        14
    kiddingU  
       2023-02-08 15:18:40 +08:00
    heixiongtt
        15
    heixiongtt  
       2023-02-08 15:49:55 +08:00
    telepresence2
    lysS
        16
    lysS  
    OP
       2023-02-08 16:22:53 +08:00
    @zhujq
    @feedcode 好的谢谢
    lysS
        17
    lysS  
    OP
       2023-02-08 16:23:08 +08:00
    谢了大伙
    dayeye2006199
        18
    dayeye2006199  
       2023-02-09 01:22:42 +08:00
    kubebuilder 或者 operator framework ,都有 debug 支持
    lysS
        19
    lysS  
    OP
       2023-02-09 13:52:10 +08:00
    @dayeye2006199 是的,kubebuilder 。如果开发环境中能直接用 kubectl ,直接 f5 就行了。。。。之前我都没敢试过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5228 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:31 · PVG 15:31 · LAX 00:31 · JFK 03:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.