k8s client-go快速入门教程及源代码阅读之动态客户端
💡
原文中文,约4800字,阅读约需12分钟。
📝
内容提要
动态客户端的价值在于灵活,不用重新生成客户端代码就能访问k8s集群中的所有资源。动态客户端的代码解析主要分为四个部分:将对象序列化成[]byte对象,获取子资源的名字,构造请求,将结果解码并返回。静态客户端的接口调用比较机械化,不够灵活,所以存在动态客户端。两者各有优缺点。
🎯
关键要点
- 动态客户端的价值在于灵活性,可以访问k8s集群中的所有资源,无需重新生成客户端代码。
- 动态客户端的代码解析分为四个部分:序列化对象、获取子资源名称、构造请求、解码结果并返回。
- 静态客户端的接口调用较为机械化,缺乏灵活性,因此存在动态客户端的需求。
- 动态客户端与静态客户端的主要区别在于是否手动传递GVR(GroupVersionResource)。
- 动态客户端的创建过程涉及构造客户端和指定资源类型。
- Create方法的代码解析主要包括四个步骤:序列化对象、获取子资源名称、构造请求、解码结果。
- k8s中的编解码过程复杂,值得单独探讨。
- 动态客户端相较于静态客户端在灵活性上有显著优势,两者各有优缺点。
➡️