go - 在Go程序中检查Pod是否在k8s集群上运行

标签 go kubernetes

我在Go中编写了一个命令行工具,它将根据k8s集群中特定命名空间中特定容器的存在来执行操作。

我可以通过go程序中的命令行(shell)调用来完成

kubectl get pods -n mynapespace l app=myapp

或者,如果我不确定标签的含义,则可能会更优雅一些,例如:
kubectl get pods -n mynapespace | grep -i somepatternIamcertainabout

但是,考虑到我使用的是k8s本地语言(Go),我想知道是否可能有更多的Go本地/特定方式对k8s api服务器进行此类查询,而无需使用cli工具中的shell调用。

最佳答案

kubectl实用程序只是一个便捷包装,它使用沼泽标准HTTP与Kubernetes API进行通信。 Go标准库有一个很棒的http package。非常适合您要完成的工作。

实际上,您可以只使用Kubernetes项目本身中的this official client package

关于go - 在Go程序中检查Pod是否在k8s集群上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120484/

相关文章:

elasticsearch - Kubernetes - Ec2 - 获得 0/2 个节点的 Elasticsearch 可用 : 2 Insufficient memory

http - Golang http客户端通过VPN(openVPN)/设置网络接口(interface)

转到 : assignment to entry in nil map

amazon-web-services - 如何使用 nginx ingress 将流量从 route53 中的域转发到 pod?

kubernetes - 如何为 StatefulSet 静态配置卷?

docker - Kubernetes中的容器垃圾收集

kubernetes - 如何将jar文件挂载到tomcat容器

go - 在水牛模型中指定多对多关系

go - 为什么函数能够返回局部变量?

go - 这种类型断言有效吗?