基于 kubebuilder 的 webhook 开发技巧总结
前情提要
基于 K8s/K3s 的二次开发中,开发人员通过 kubebuilder 可以解决很大的精力去处理业务逻辑从而脱离繁琐的配置过程和适配问题,虽然工具好用,平时的开发中还是需要总结和落地一些行之有效的开发方法从而加快研发的效率提升工作,本博客就从比较细节的方面论述了开发实践的一些技巧。
问题汇总
1 时区/时间
安装参考链接: https://www.cnblogs.com/network-ren/p/12377671.html
# 安装 ntpd 服务
systemctl enable ntpd
systemctl enable ntpdate
# 时区同步问题汇总
ntpdate -u 1.cn.pool.ntp.org
# 查看时区&时间
date
说明: 时区时间对于证书认证的过程很重要的,如果忽略或者没有关注这一方面的问题,证书认证的时间就会超时,整个 webhook 就无法调试和适配。
2 清理自定义 CRD
如果是自己开发设计的 crd 因为一些原因无法删除清理,需要手动清理,什么方式可以将资源删除呢。
# 查询需要待删除的资源
kubectl get crd | grep xxx
# 编辑 crd 资源手动删除
kubectl edit crd xxxx.xxxx.xxxx
说明: 因为自定义的 crd 资源因为一些原因无法清理,所以需要通过这种特殊的方式将资源删除干净,与之关联的命名空间或者依赖资源就会被清理给干净的,不然就会陷入死锁状态的,另外资源的删除顺序也会导致资源的调度失败的现象呦。
拓展阅读
后会无期,未来可期!