Debug go programs with plugins using VSCode Go extension

使用VSCode的golang插件debug go程序是非常方便的,可以比较容易地实现查看变量名、断点调试、单步跟踪等功能。但是笔者最近在使用这个插件debug 需要用到go plugin的程序 (MIT 6.824 mapreduce lab)时,遇到了问题:无论怎么办,从plugin中加载函数都会失败,这让我百思不得其解。在翻阅无数stackoverflow帖子和github issues之后,终于找到了解决办法,便有了这篇博文。

阅读全文〉

Test Kubernetes Operator Using an Existing Cluster

在使用kubebuilder构建脚手架并完成其中的Reconcile逻辑后,我们需要为其编写自动化测试,方便以后的开发,否则每次都要先用make run先把 k8s 环境跑起来,再用kubectl apply -f xxx.yaml提交给k8s,观察资源变化,这样会非常麻烦。

阅读全文〉

Notes on Kubernetes Operator Development

最近在和李老师、朱师兄一起开发Rhino这个项目,项目地址在这里。Rhino是为HPC开发者提供的一套框架,方便HPC开发者将自己开发的MPI应用部署到 k8s 集群中。目前我主要开发的是Operator项目,该项目是基于kubebuilder 这个脚手架的,在这篇文章中记录一些讨论的会议纪要,和自己的一些体会。

阅读全文〉