加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

KubeCapacity一款超实用的Kubernetes资源使用量终端管理工具

发布时间:2022-07-10 02:16:26 所属栏目:Linux 来源:互联网
导读:使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率。 Kube-capacity 是一个简单而强大的 CLI,它提供了Kubernetes集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合kubectl top到kubectl describe一个易于使用的集中于集群资源的
  使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率。
 
  Kube-capacity 是一个简单而强大的 CLI,它提供了Kubernetes集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合kubectl top到kubectl describe一个易于使用的集中于集群资源的 CLI 中。
 
  不过像这样的工具确实好用一些,比如我想看这个kube-system下有哪些pod有没有设置request和limit的时候,实际上,我需要输入一段很长的命令才能列出,而且需要一些调试,这看起来不是特别方便。
 
  复制
 
  # kubectl get pod -n kube-system  -o=custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,PHASE:.status.phase,Request-cpu:.spec.containers[0].resources.requests.cpu,Request-memory:.spec.containers[0].resources.requests.memory,Limit-cpu:.spec.containers[0].resources.limits.cpu,Limit-memory:.spec.containers[0].resources.limits.memory
 
  NAME                                       NAMESPACE     PHASE     Request-cpu   Request-memory   Limit-cpu   Limit-memory
 
  calico-kube-controllers-7d4c6544cc-g6x6q   kube-system   Running   <none>        <none>           <none>      <none>
 
  calico-node-4fjn8                          kube-system   Running   250m          <none>           <none>      <none>
 
  calico-node-7nbpj                          kube-system   Running   250m          <none>           <none>      <none>
 
  calico-node-qvdlr                          kube-system   Running   250m          <none>           <none>      <none>
 
  coredns-7977f69688-4nz9q                   kube-system   Running   100m          70Mi             <none>      170Mi
 
  coredns-7977f69688-frkt5                   kube-system   Running   100m          70Mi             <none>      170Mi
 
  etcd-k8s-master1                           kube-system   Running   100m          100Mi            <none>      <none>
 
  etcd-k8s-master2                           kube-system   Running   100m          100Mi            <none>      <none>
 
  etcd-k8s-master3                           kube-system   Running   100m          100Mi            <none>      <none>
 
  kube-apiserver-k8s-master1                 kube-system   Running   250m          <none>           <none>      <none>

  那么这个工具实际上解决的问题就是帮助我们快速查看概览整个集群和pod的资源配置情况。
 
  安装
 
  Go 二进制文件由GoReleaser随每个版本自动构建。这些可以在此项目的 GitHub发布页面上访问。
 
  https://github.com/goreleaser/goreleaser
 
   https://github.com/robscott/kube-capacity/releases
 
  Homebrew
 
  这个项目可以用Homebrew安装:
 
  复制
 
  brew tap robscott/tap
 
  brew install robscott/tap/kube-capacity
 
  1.
 
  2.
 
  Krew
 
  这个项目可以用Krew安装:
 
  复制
 
  kubectl krew install resource-capacity
 
  1.
 
  用法
 
  默认情况下,kube-capacity 将输出一个节点列表,其中包含 CPU 和内存资源请求的总数以及在它们上运行的所有 pod 的限制。对于具有多个节点的集群,第一行还将包括集群范围的总数。该输出将如下所示
 
  包括 Pod
 
  对于更详细的输出,kube-capacity 可以在输出中包含 pod。当-p或--pods被传递给 kube-capacity 时,它将包含如下所示的特定于 pod 的输出
 
  包括利用率
 
  为了帮助了解资源利用率与配置的请求和限制的比较,kube-capacity 可以在输出中包含利用率指标。请务必注意,此输出依赖于集群中的metrics-server正常运行。当-u或--util被传递给 kube-capacity 时,它将包含如下所示的资源利用率信息:
 
  包括 Pod 和利用率
 
  对于更详细的输出,kube-capacity 可以在输出中包含 pod 和资源利用率。当--util和--pods传递给 kube-capacity 时,它将产生如下所示的宽输出:
 
  值得注意的是,来自 pod 的利用率数字可能不会与总节点利用率相加。与节点和集群级别数字代表 pod 值总和的请求和限制数字不同,节点指标直接来自指标服务器,并且可能包括其他形式的资源利用率。
 
  排序
 
  要突出显示具有最高指标的节点、pod 和容器,您可以按各种列进行排序:
 
  显示 Pod 计数
 
  要显示每个节点和整个集群的 pod 数量,可以通过--pod-count参数:
 
  按标签过滤
 
  对于更高级的使用,kube-capacity 还支持按 pod、命名空间和/或节点标签进行过滤。以下示例展示了如何使用这些过滤器:
 
  复制
 
  kube-capacity --pod-labels app=nginx  
 
  kube-capacity --namespace 默认
 
  kube-capacity --namespace-labels team=api  
 
  kube-capacity --node-labels kubernetes.io/role=node
 
  1.
 
  2.
 
  3.
 
  4.
 
  JSON 和 YAML 输出
 
  默认情况下,kube-capacity 将以表格格式提供输出。要以 JSON 或 YAML 格式查看此数据,可以使用输出标志。以下是一些示例命令:
 
  复制
 
  kube-capacity --pods --output json
 
  kube-capacity --pods --containers --util --output yaml
 
  1.
 
  2.
 
  支持的标志
 
  先决条件
 
  任何请求集群利用率的命令都依赖于集群上运行的metrics-server。如果尚未安装,您可以使用官方helm chart进行安装。
 
  https://github.com/helm/charts/tree/master/stable/metrics-server
 
  https://github.com/kubernetes-incubator/metrics-server。
 

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!