你可以使用 kubectl
命令行工具来获取 Kubernetes 集群中所有 Deployments 的资源请求(resource requests)和资源限制(resource limits)。以下是一个例子:
kubectl get deployments --all-namespaces -o json | \
jq -r '.items[] | "\(.metadata.namespace) \(.metadata.name) \(.spec.template.spec.containers[].resources.requests) \(.spec.template.spec.containers[].resources.limits)"'
这个命令会返回类似下面的输出:
namespace1 deployment1 {"cpu":"100m","memory":"200Mi"} {"cpu":"200m","memory":"400Mi"}
namespace2 deployment2 {"cpu":"500m","memory":"1Gi"} {"cpu":"1","memory":"2Gi"}
这个命令的工作原理是:
-
kubectl get deployments --all-namespaces -o json
:获取所有命名空间中的 Deployments,并以 JSON 格式输出。 -
jq -r '.items[] | "\(.metadata.namespace) \(.metadata.name) \(.spec.template.spec.containers[].resources.requests) \(.spec.template.spec.containers[].resources.limits)"'
:使用 jq 工具来处理 JSON 输出,提取每个 Deployment 的命名空间、名称、资源请求和资源限制。
注意,这个命令需要你的机器上已经安装了 jq
工具。如果没有,你可以使用你的包管理器来安装它,例如在 Ubuntu 上,你可以使用 sudo apt-get install jq
来安装。