通过 kubectl 查看 K8s 内节点、Pod 资源使用情况

一、kubectl describe node

可通过该命令查看 Pod 在节点上的资源分配情况(Request、Limits),如下:

# product 表示生产环境
kubectl describe node -l env=product

# 执行结果
Namespace                   Name                                                      CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
---------                   ----                                                      ------------  ----------  ---------------  -------------  ---
product                     annoroad-clinicallims3-754dddb5cb-k5xkn                   0 (0%)        0 (0%)      0 (0%)           0 (0%)         85d
product                     annoroad-crm-796884585d-ts2xn                             0 (0%)        0 (0%)      0 (0%)           0 (0%)         85d
product                     annoroad-dms-6d658d564f-m6j7r                             0 (0%)        0 (0%)      0 (0%)           0 (0%)         16d
product                     annoroad-dms-server-6557c5bc85-45sw2                      0 (0%)        0 (0%)      0 (0%)           0 (0%)         15d

二、kubectl top node

可通过该命令查看节点的资源使用情况,如下:

# product 表示生产环境
kubectl top node -l env=product

# 执行结果
NAME                       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
cn-beijing.192.16.168.102   904m         11%    10340Mi         69%
cn-beijing.192.16.168.103   1393m        17%    12810Mi         86%
cn-beijing.192.16.168.104   1994m        24%    13281Mi         89%
cn-beijing.192.16.168.105   987m         12%    9399Mi          63%
cn-beijing.192.16.168.115   638m         15%    12017Mi         80%
cn-beijing.192.16.168.118   806m         20%    9372Mi          62%
cn-beijing.192.16.168.135   258m         6%     9696Mi          65%
cn-beijing.192.16.168.136   871m         21%    10957Mi         73%
cn-beijing.192.16.168.137   310m         7%     9322Mi          62%
cn-beijing.192.16.168.138   943m         23%    11908Mi         80%

三、kubectl top pod

可通过该命令查看 Pod 资源使用情况,如下:

# product 表示生产环境
kubectl top pod -n product

# 执行结果
NAME                                         CPU(cores)   MEMORY(bytes)
annoroad-alpha-5dbd868d-lsvj5                2m           383Mi
annoroad-applet-6f977779bc-2bgpn             3m           384Mi
annoroad-applet-6f977779bc-mgdhw             3m           387Mi
annoroad-applet-6f977779bc-qhqbg             2m           393Mi
annoroad-beta-7c4d7c654f-m4rkf               2m           334Mi
annoroad-clinicallims-67855bf4f5-9ddwd       4m           502Mi
annoroad-clinicallims-67855bf4f5-rdq2s       3m           488Mi
annoroad-clinicallims-67855bf4f5-vvrsn       3m           436Mi
annoroad-clinicallims-67855bf4f5-zhbvk       4m           509Mi
annoroad-clinicallims-67855bf4f5-zs65j       3m           420Mi
annoroad-clinicallims3-56d9c87786-2ftzq      3m           596Mi

四、kubectl get pod -o wide |grep $node

可通过该命令查看指定 node 上运行的所有 pod,如下:

# product 表示生产环境
kubectl get pod -n product -o wide |grep cn-beijing.172.15.14.128

# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq        1/1     Running   6          20h    170.22.11.23     cn-beijing.172.15.14.128   <none>           <none>
annoroad-covid19-front-fdd7469ff-pg2hm         1/1     Running   0          29d    170.22.11.20   	cn-beijing.172.15.14.128   <none>           <none>
annoroad-crm-7b9cd5c6c9-hj5s8                  1/1     Running   0          10d    170.22.11.12     cn-beijing.172.15.14.128   <none>           <none>
annoroad-crm-server-696d4f5867-77bdd           1/1     Running   2          29d    170.22.11.122    cn-beijing.172.15.14.128   <none>           <none>
annoroad-gateway-55785fd8c-xlx4q               1/1     Running   0          88d    170.22.11.99     cn-beijing.172.15.14.128   <none>           <none>

五、kubectl top pod |grep -E “$podname1|$podname2|…”

可通过该命令查看一个 pod 或几个 pod 的资源使用情况 ,如下:

# product 表示生产环境
kubectl top pod -n product |grep -E "annoroad-clinical-lims-8556cc6b76-57ctq|annoroad-covid19-front-fdd7469ff-pg2hm"

# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq        74m          1216Mi
annoroad-covid19-front-fdd7469ff-pg2hm         1m           2Mi
  • 9
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
### 回答1: 如果你想修改 pod 所在的子网 CIDR,你需要修改 kubernetes 集群的网络配置。这通常是由集群管理员来完成的,因为修改网络配置可能会影响集群中的所有节点pod。 要修改网络配置,你需要使用 kubeadm 工具。首先,你需要在集群中找到当前使用的网络插件,然后查找该插件的文档,了解如何修改子网 CIDR。 例如,如果你使用的是 Flannel 插件,你可以在 kubeadm 配置文件中的 `podSubnet` 字段中修改子网 CIDR。这个字段的值必须是一个有效的 CIDR 表示法,如 `10.244.0.0/16`。 然后你需要重新初始化集群,使新的网络配置生效。这可以通过执行以下命令来完成: ``` kubeadm init --config=kubeadm.yaml ``` 请注意,重新初始化集群可能会导致集群中的所有 pod 被删除,因此应谨慎操作。 希望这能帮到你! ### 回答2: 在Kubernetes中,可以通过修改集群的网络配置来修改Pod所在的子网CIDR范围。下面是一种常见的方法: 1. 使用kubectl命令行工具连接到Kubernetes集群。 2. 执行以下命令获取当前集群的网络配置: ``` kubectl get cm -n kube-system kube-proxy -o yaml > kube-proxy-config.yaml ``` 3. 编辑kube-proxy-config.yaml文件,找到"clusterCIDR"字段,该字段指定了当前集群中Pod使用的子网CIDR范围。 4. 修改"clusterCIDR"字段的值为新的子网CIDR范围。 5. 执行以下命令将修改的配置更新到集群中: ``` kubectl apply -f kube-proxy-config.yaml ``` 6. 重启kube-proxy组件,使修改生效: ``` kubectl rollout restart daemonset/kube-proxy -n kube-system ``` 7. 等待一段时间以确保kube-proxy组件重启完成,并验证Pod所在的子网CIDR范围是否已经修改成功。 请注意,修改Pod所在的子网CIDR范围可能会影响到集群中所有的网络通信,请谨慎操作并确保修改后的配置与其他网络组件兼容。此外,修改网络配置可能需要对集群进行重新启动,因此在生产环境中进行此类操作时请注意可能的影响和风险。 ### 回答3: 要修改Kubernetes (K8s) 中 Pod 所在的子网 CIDR,需要进行以下步骤: 1. 编辑 kube-apiserver 配置文件:在控制平面节点上找到 kube-apiserver 的配置文件,一般位于 /etc/kubernetes/manifests/kube-apiserver.yaml(也可能在其他位置),使用编辑器打开该文件。 2. 修改 kube-apiserver.yaml:在 kube-apiserver.yaml 文件中,找到 args 部分的配置项,主要是 --service-cluster-ip-range 或 --cluster-cidr 参数。这个参数用于指定服务 IP 范围,即集群内部通信的 IP 范围。修改这个参数的值为新的子网 CIDR 地址。保存并关闭文件。 3. 重启 kube-apiserver:重启 kube-apiserver 以应用新的配置。可以使用以下命令重启 kube-apiserver: ``` systemctl restart kubelet ``` 4. 更新节点:更新节点以使更改生效。可以使用以下命令更新节点: ``` kubectl drain <节点名称> --delete-local-data --force --ignore-daemonsets kubectl delete node <节点名称> kubectl uncordon <节点名称> ``` 请确保将 \<节点名称\> 替换为实际节点的名称。 5. 检查子网 CIDR 是否已更改:使用以下命令检查子网 CIDR 是否已成功更改: ``` kubectl get nodes -o wide ``` 这将显示节点的详细信息,包括新的子网 CIDR。 通过以上步骤,您可以成功修改 K8sPod 所在的子网 CIDR。请注意,在进行任何更改之前,务必备份原始的配置文件,并确保在生产环境中小心操作以避免意外或中断服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cab5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值