首页 > 解决方案 > 使用 k8s client-go 获取命名空间配额

问题描述

我正在寻找一种使用 client-go 获取命名空间资源配额的方法,类似于kubectl describe ns my-namespace-name.

我已经尝试过ns, err := k8client.CoreV1().Namespaces().Get("my-namespace-name", metav1.GetOptions{}),但它没有提供配额信息。

也尝试过ns, err := k8client.CoreV1().ResourceQuotas("my-namespace-name").Get("name", metav1.GetOptions{}),但我不知道name在.Get() 中将什么作为参数。尝试了命名空间名称,尝试了https://kubernetes.io/docs/reference/kubectl/overview/#resource-types中的几种资源类型,但没有遇到类似resourcequotas "namespaces" not foundresourcequotas "limits.cpu" not found

也试过ns, err := k8client.CoreV1().ResourceQuotas("my-namespace-name").List(metav1.ListOptions{})了,但没有返回结果。

任何关于如何获得它的想法将不胜感激!

标签: kuberneteskubernetes-go-clientclient-go

解决方案


好的,经过一些调试和浏览kubernetes和kubectl代码,得到它的方法是: ns, err := k8client.CoreV1().ResourceQuotas("my-namespace-name").List(metav1.ListOptions{})

不知道为什么它在我第一次尝试时对我不起作用,可能在命名空间名称中打错了。


推荐阅读