go-delve远程调试

基本原理 代码同步 远程环境准备 启动远程环境的delve服务端 本地断点调试 基本原理 在开发过程中可能遇到以下两类问题: 本地开发完成后,在其他环境运行时程序表现和预期不一致 本地难以调试,比如kubelet 为了解决这些问题,可以结合使用delve和jetbrain家的IDE(goland/idea),方便地在远程环境运行程序,同时在本地打断点调试。 delve类似于一个cs架构的中

- 阅读全文 -

go-channel行为总结

unbufferd channel buffered channel unbufferd channel 未被关闭的channel: 发送:阻塞,直到接收者从channel将数据取走 接收:阻塞,直到有发送者将数据发到channel 已被关闭的channel: 发送:panic 接收:数据全部被接收后,再读取会直接读到0值 buffered channel 未满的chan

- 阅读全文 -

k8s-rbd-provisioner改造过程中代码不生效问题的调试

背景 问题 思考与总结 外部参考 背景 这次的项目是准备修改一下external provisioner里的rbd provisioner,使之支持使用pvc的命名空间和名称组合起来作为ceph rbd镜像名称,就像cephfs provisioner一样。默认的rbd只支持随机镜像名或使用pv的名称两种方案,而这两种方案本质上都是非完全固定的,不能满足我更换集群保持pvc和image一一对应

- 阅读全文 -