前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >[kubectl-resource-view]: 一款用于查看k8s资源使用情况的插件

[kubectl-resource-view]: 一款用于查看k8s资源使用情况的插件

作者头像
没有故事的陈师傅
发布2024-12-02 20:01:40
发布2024-12-02 20:01:40
10300
代码可运行
举报
文章被收录于专栏:运维开发故事
运行总次数:0
代码可运行

1.简介

一款自己编写的k8s 命令行插件,用于查看k8s node和pod资源的 cpu、 memory、 gpu的request 和limit 使用情况。

2.安装

可直接解压下载使用,也可以从github仓库中进行下载最新版本,支持不同架构,喜欢的麻烦给个小星星,有啥额外的需求可以提issue

https://github.com/bryant-rh/kubectl-resource-view

3.Usage

代码语言:javascript
代码运行次数:0
复制
$ kubectl-resource-view -h

Display Resource (cpu/memory/gpu/podcount) Usage and Request and Limit.

 The resource command allows you to see the resource consumption for nodes or pods.

 This command requires Metrics Server to be correctly configured and working on the server.

Usage:
  kubectl-resource-view [flags] [options]
  kubectl-resource-view [command]

Examples:
  node        Display Resource (cpu/memory/gpu/podcount) usage of nodes
  pod         Display Resource (cpu/memory/gpu)          usage of pods

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  node        Display resource (cpu/memory/gpu/podcount) usage of nodes
  pod         Display resource (cpu/memory/gpu) usage of pods

Flags:
      --as string                      Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation.
      --cache-dir string               Default cache directory (default "/root/.kube/cache")
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
  -h, --help                           help for kubectl-resource-view
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kubeconfig string              Path to the kubeconfig file to use for CLI requests.
      --match-server-version           Require server version to match client version
  -n, --namespace string               If present, the namespace scope for this CLI request
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
  -s, --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
  -v, --version                        version for kubectl-resource-view

3.1 查看node资源

代码语言:javascript
代码运行次数:0
复制
$ kubectl-resource-view  node -h

Display resource (cpu/memory/gpu/podcount) usage of nodes.

 The resource node command allows you to see the resource consumption of nodes.

Usage:
  kubectl-resource-view node [NAME | -l label]

Aliases:
  node, nodes, no

Examples:
  # Show metrics for all nodes
  kubectl resource-view node

  # Show metrics for a given node
  kubectl resource-view node NODE_NAME

  # Show metrics for the node defined by type name=cpu,memory,gpu,pod
  kubectl resource-view node -t cpu,memory,gpu,pod

Flags:
  -h, --help              help for node
      --no-format         If present, print output without format table
  -l, --selector string   Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
      --sort-by string    If non-empty, sort nodes list using specified field. The field can be either 'cpu' or 'memory'
  -t, --type string       Type information hierarchically (default: All Type)[possible values: cpu,memory,pod,gpu], Multiple can be specified, separated by commas
  1. 查看所有节点的cpu,内存,gpu使用情况
  1. 只查看cpu,或者内存资源,或者GPU资源
代码语言:javascript
代码运行次数:0
复制
-t, --type string   [ cpu,memory,pod,gpu], Multiple  can be specified
  1. 根据cpu或内存使用进行排序

--sort-by [cpu/memory]

  1. 支持指定label 或者node name来查筛选

-l key1=value1,key2=value2

如只查看gpu节点的gpu资源使用情况

如只查看A800型号GPU 节点,资源使用情况

如指定节点名称,来查看指定节点的对应资源使用情况

  1. 支持类似kubectl 格式显示

--no-format

3.2 查看pod 资源

代码语言:javascript
代码运行次数:0
复制
$  kubectl-resource-view  pod -h


Display resource (cpu/memory/gpu) usage of pods.

 The 'resource-view pod' command allows you to see the resource consumption of pods.

 Due to the metrics pipeline delay, they may be unavailable for a few minutes since pod creation.

Usage:
  kubectl-resource-view pod [NAME | -l label]

Aliases:
  pod, pods, po

Examples:
  # Show metrics for all pods in the default namespace
  kubectl resource-view pod

  # Show metrics for all pods in the given namespace
  kubectl resource-view pod --namespace=NAMESPACE

  # Show metrics for a given pod
  kubectl resource-view pod POD_NAME

  # Show metrics for the pods defined by label name=myLabel
  kubectl resource-view pod -l name=myLabel

  # Show metrics for the pods defined by type name=cpu,memory,gpu
  kubectl resource-view pod -t cpu,memory,gpu

Flags:
  -A, --all-namespaces          If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.
      --field-selector string   Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type.
  -h, --help                    help for pod
      --no-format               If present, print output without format table
  -l, --selector string         Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
      --sort-by string          If non-empty, sort pods list using specified field. The field can be either 'cpu' or 'memory'.
  -t, --type string             Type information hierarchically (default: All Type)[possible values: cpu,memory,gpu],Multiple can be specified, separated by commas
  1. 指定namespace 来查看对应pod 资源使用情况
代码语言:javascript
代码运行次数:0
复制
-n --namespace =NAMESPACE
  1. 指定podname 查看指定pod 资源使用情况
  1. 只查看cpu,或者内存资源,或者GPU资源
代码语言:javascript
代码运行次数:0
复制
-t, --type string   [ cpu,memory,pod,gpu], Multiple  can be specified
  1. 根据cpu或内存使用进行排序
代码语言:javascript
代码运行次数:0
复制
--sort-by [cpu/memory]
  1. 支持指定label 筛选
代码语言:javascript
代码运行次数:0
复制
-l key1=value1,key2=value2
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维开发故事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
  • 2.安装
  • 3.Usage
    • 3.1 查看node资源
    • 3.2 查看pod 资源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档