容器化怎么 debug 啊?

2023-02-08 10:57:41 +08:00
 lysS

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

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

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

不过为啥不在本地调好了再部署?
guanzhangzhang
2023-02-08 12:22:31 +08:00
nocalhost 那啥
或者开下权限,dlv 远程调试 https://zhangguanzhang.github.io/2021/07/20/dlv-remote/
zhujq
2023-02-08 13:12:46 +08:00
本地跑 operator ,也能连上远程 k8s 进行 debug 啊
不需要构建镜像
rocmax
2023-02-08 13:23:34 +08:00
feedcode
2023-02-08 13:41:56 +08:00
kiddingU
2023-02-08 15:18:40 +08:00
heixiongtt
2023-02-08 15:49:55 +08:00
telepresence2
lysS
2023-02-08 16:22:53 +08:00
@zhujq
@feedcode 好的谢谢
lysS
2023-02-08 16:23:08 +08:00
谢了大伙
dayeye2006199
2023-02-09 01:22:42 +08:00
kubebuilder 或者 operator framework ,都有 debug 支持
lysS
2023-02-09 13:52:10 +08:00
@dayeye2006199 是的,kubebuilder 。如果开发环境中能直接用 kubectl ,直接 f5 就行了。。。。之前我都没敢试过

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX