首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

k8s-pod模块开发

前两天,我们是开发获取node相关的信息的模块,今天我们就来看看如何使用go开发获取k8s集群中pod相关的信息。

示例代码可以借助AI生成或者自己查资料编写,这里先给出go调用k8s集群的pod接口的代码:

运行结果如下,可以看到这里有pod的名字、命名空间以及运行状态:

我们知道K8s集群大部分操作都可以通过kubectl 命令行接口或类似 kubeadm 这类命令行工具来执行, 这些工具在背后也是调用 API。但是一般都是面向管理员或者开发使用的,如果想开发可视化界面,让不懂k8s相关知识的人也能用,就得自己开发应用,使用 REST 调用来访问这些 API,可以降低除专门开发和运维相关人员的使用难度。

我们先来捋一捋,如果你不是用go开发而是使用其他语言,那怎么调用k8s集群的接口获得你想要的信息呢,这里就要用到客户端库了。

先摆出官网客户端库地址:

我们开发集群相关功能,使用 Kubernetes REST API 编写应用程序时,并不需要自己实现 API 调用和 “请求/响应” 类型。可以根据自己的编程语言需要选择使用合适的客户端库。

客户端库通常可以处理诸如身份验证之类的常见任务。如果 API 客户端在 Kubernetes 集群中运行,大多数客户端库可以发现并使用 Kubernetes 服务账号进行身份验证,或者能够理解 kubeconfig 文件 格式来读取凭据和 API 服务器地址。

以下是官方维护的客户端,基本主流语言都是支持的

但也有一部分是社区维护的客户端库,感兴趣的朋友可以自行查找看一下。

再说说Kubernetes API

官网是这么说的:“REST API 是Kubernetes 的基本结构。所有操作和组件之间的通信及外部用户命令都是调用 API 服务器处理的 REST API。因此,Kubernetes 平台视一切皆为 API 对象, 且它们在 API 中有相应的定义。”

所以摆出官网API参考,列出了Kubernetes v1.27 版本的 API:

比如调用pod的API,给出官网地址:

详细的内容也比较多,我也正在研究,大家感兴趣的可以自行查阅。

所以围绕k8s开发,首先就需要对k8s的api要很熟悉,不然就算有数据,也不知道如何灵活调用以供自己业务使用。好了,今天的分享就到这了,感兴趣的朋友快去尝试,别忘了点赞关注呀!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230516A07M0Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券