本文介绍了k8s源码中基于Scheme的编解码机制,包括注册GVK、类型转换和默认值设置。通过示例代码展示了通过Scheme获取对象GVK以及通过GVK获取对象实例的过程。还介绍了静态客户端编解码器的构造过程,有助于解析k8s的数据结果。
client-go的客户端分为静态客户端和动态客户端,静态客户端接口固定,无法访问非k8s内置资源,动态客户端灵活但需要了解GVK/GVR等前置知识,两者底层都使用rest.RESTClient对象,静态客户端构造简单通过GVR定位资源客户端,常用接口包括获取、新增、更新、删除,静态客户端代码通过代码生成,阅读起来简单。
client-go是kubernetes官方维护的go语言客户端,用于与k8s集群交互。了解GVK和GVR可以定位资源。增删改查是常见操作,代码示例展示了如何使用client-go进行这些操作。操作k8s资源需要配置加载和创建客户端。k8s接口遵循RESTFul规范,使用起来很顺手。
完成下面两步后,将自动完成登录并继续当前操作。