如何查看Pod的Container资源占用情况

云原生学习路线导航页(持续更新中)

方法一:直接查看pod的资源占用

kubectl top pods ${pod-name} -n ${ns}

方法二:通过运行的进程,查看pod的某个容器资源占用

  • 1.找到pod所在node+容器号:kubectl describe pods workload-demo-75cdb8b549-68q4t
    在这里插入图片描述
  • 2.登陆这台node,docker ps | grep 容器号
    在这里插入图片描述
  • 3.查看容器信息获取pid:docker inspect 容器号 | grep Pid
    在这里插入图片描述
  • 4.这个22219就是你这个容器实际的进程,直接 ps aux | grep 22219,就可以查看进程的详细信息了
    在这里插入图片描述
    在这里插入图片描述
在Kubernetes (k8s) 中,获取Pod资源使用情况通常涉及到Kubernetes API和客户端库,比如官方推荐的`kubectl`命令行工具或者更高级的编程式API调用,如Kubernetes client for Java。 如果你想通过`kubectl`命令获取Pod资源使用情况,可以运行以下命令: ```bash kubectl get pods -o json | jq '.items[].status.podIP | .containerStatuses[].resources.requests[] | select(.name == "resource_name") | .name + ": " + .limit' ``` 这里替换`"resource_name"`为你关心的具体资源(例如内存、CPU等),这会显示每个Pod对指定资源的请求量和限制值。 如果你在Java应用程序中操作,可以使用Kubernetes的client-go库来动态查询Pod资源。首先,你需要设置kubeconfig文件并创建一个KubernetesClient实例,然后使用`listPodForAllNamespaces`或`getPod`方法,并解析响应获取所需资源信息。 下面是一个简单的Java示例(使用了kubernetes-client库,但请注意实际项目中可能需要引入更多依赖): ```java import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.Configuration; import io.kubernetes.client.openapi.apis.CoreV1Api; public class KubeResourceUsage { private static final String NAMESPACE = "default"; private static final String POD_NAME = "your-pod-name"; public static void main(String[] args) throws Exception { ApiClient client = Configuration.defaultClient(); CoreV1Api coreV1Api = new CoreV1Api(client); // 获取Pod对象 V1Pod pod = coreV1Api.readNamespacedPod(POD_NAME, NAMESPACE, null); // 遍历Pod容器 for (V1Container container : pod.getSpec().getContainers()) { // 获取资源请求和限制 Map<String, Quantity> requestsAndLimits = container.getResources(); for (Map.Entry<String, Quantity> entry : requestsAndLimits.entrySet()) { System.out.println("Resource Name: " + entry.getKey() + ", Request: " + entry.getValue()); if (requestsAndLimits.containsKey(entry.getKey() + ".limits")) { System.out.println("Resource Limit: " + requestsAndLimits.get(entry.getKey() + ".limits")); } } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值