k8s系列 – CRD自定义资源与Controller实现(完结篇)
经过一段时间的学习,能想到的client-go相关用法知识基本总结完毕,代码全部列在了下面的项目中:k8s-client-go。
一共包括10个demo,从易到难,以实用为目的:
- demo1: 连接k8s
- demo2: 解析yaml为json, 反序列化到deployment对象, 修改deployment.spec.replicas, 提交到k8s生效
- demo3: 更新deployment.Spec.Template.Spec.Containers, 升级镜像版本, 提交到k8s生效
- demo4: 更新deployment, 循环获取部署状态, 判定部署完成, 并获取最新pod列表与失败原因
- demo5: xterm.js的基本用法, 为后续web ssh访问k8s container做铺垫
- demo6: xterm.js+client-go remotecommand实现完美web ssh登录container
- demo7: 获取POD内container的输出
- demo8: client-go的sdk日志配置
- demo9: 自定义CRD, 利用code generation生成controller骨架代码
- demo10: 实现一个类似于replicas的controller, 动态管理POD数量
最新的demo10实现了CRD与controller调度器,这是我觉得最晦涩也最有价值的一部分,完整的调研文档点击这里下载:《CRD自定义资源&实现controller调度器》。
网上关于client-go的资料很少,如果资料帮助到了你,那么可以扫码向我支付打赏表示谢意,以便支持我的博客服务器继续运营下去,谢谢。
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~

写的非常好,赞一个
赞一个👍