1.简介
一款自己编写的k8s 命令行插件,用于查看k8s node和pod资源的 cpu、 memory、 gpu的request 和limit 使用情况。
2.安装
可直接解压下载使用,也可以从github仓库中进行下载最新版本,支持不同架构,喜欢的麻烦给个小星星,有啥额外的需求可以提issue
https://github.com/bryant-rh/kubectl-resource-view
3.Usage
$ 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
(1)查看node资源
$ 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
查看所有节点的cpu,内存,gpu使用情况。
只查看cpu,或者内存资源,或者GPU资源。
-t, --type string [ cpu,memory,pod,gpu], Multiple can be specified
根据cpu或内存使用进行排序。
--sort-by [cpu/memory]
支持指定label 或者node name来查筛选。
-l key1=value1,key2=value2
如只查看gpu节点的gpu资源使用情况。
如只查看A800型号GPU 节点,资源使用情况。
如指定节点名称,来查看指定节点的对应资源使用情况
支持类似kubectl 格式显示。
--no-format
(2)查看pod 资源
$ 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
指定namespace 来查看对应pod 资源使用情况。
-n --namespace =NAMESPACE
指定podname 查看指定pod 资源使用情况。
只查看cpu,或者内存资源,或者GPU资源。
-t, --type string [ cpu,memory,pod,gpu], Multiple can be specified
根据cpu或内存使用进行排序。
--sort-by [cpu/memory]
支持指定label 筛选。
-l key1=value1,key2=value2