简介
显示资源(CPU/内存)使用情况。
此命令可以查看节点和 Pod 最近消耗的资源。此命令从 Metrics Server 获取指标,Metrics Server 从每个节点上的 kubelet 聚合这些数据。 要使用此命令,集群中必须安装并运行 Metrics Server。
显示的指标专门针对 Kubernetes 自动扩缩容决策进行了优化,例如针对水平
Pod 自动扩缩器(HPA)和垂直 Pod 自动扩缩器(VPA)的指标进行了优化。
因此,这些值可能与标准操作系统工具(如 top)显示的结果不一致,
因为这些指标的设计目的是为自动扩缩器提供稳定信号,而不是追求精确性。
使用此命令的时机如下:
- 用于临时检查资源使用情况(例如,一眼识别哪些 Pod 消耗了最多资源,或快速了解节点的负载情况)
- 了解当前的资源消耗模式
- 通过查看 HPA 或 VPA 用于扩缩容决策的指标,校验 HPA 或 VPA 配置所产生的行为
它并不是完整监控解决方案的替代品。其主要设计目标是为自动扩缩器提供低开销的信号, 而不是成为一个完全精确的监控工具。对于高精度报告、历史分析、仪表盘或告警,应使用专门的监控解决方案。
kubectl top [flags]
选项
| -h, --help | |
|
关于 top 的帮助信息。 |
|
Parent Options Inherited
| --api-group string | |
|
筛选指定 API 组中的资源。 |
|
| --cached | |
|
如果可用,将使用缓存的资源列表。 |
|
| --categories strings | |
|
筛选属于指定类别的资源。 |
|
| -h, --help | |
|
关于 api-resources 的帮助信息。 |
|
| --namespaced 默认值:true | |
|
如果为 false,则返回非命名空间作用域的资源,否则默认返回命名空间作用域的资源。 |
|
| --no-headers | |
|
当使用默认或自定义列输出格式时,不要打印标题(默认打印标题)。 |
|
| -o, --output string | |
|
输出格式,可选值为:wide、name。 |
|
| --sort-by string | |
|
如果非空,则使用指定字段对资源列表进行排序,此字段可以是 "name" 或 "kind"。 |
|
| --verbs strings | |
|
筛选支持指定动词的资源。 |
|
Parent Options Inherited
| --as string | |
|
操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。 |
|
| --as-group strings | |
|
操作所用的伪装用户组,此标志可以被重复设置以指定多个组。 |
|
| --as-uid string | |
|
操作所用的伪装 UID。 |
|
| --cache-dir string 默认值:"$HOME/.kube/cache" | |
|
默认缓存目录。 |
|
| --certificate-authority string | |
|
证书机构的证书文件的路径。 |
|
| --client-certificate string | |
|
TLS 客户端证书文件的路径。 |
|
| --client-key string | |
|
TLS 客户端密钥文件的路径。 |
|
| --cluster string | |
|
要使用的 kubeconfig 中集群的名称。 |
|
| --context string | |
|
要使用的 kubeconfig 上下文的名称。 |
|
| --disable-compression | |
|
如果为 true,则对服务器所有请求的响应不再压缩。 |
|
| --insecure-skip-tls-verify | |
|
如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。 |
|
| --kubeconfig string | |
|
CLI 请求要使用的 kubeconfig 文件的路径。 |
|
| --kuberc string | |
|
用于偏好设置的 kuberc 文件的路径。可以通过导出 KUBECTL_KUBERC=false 特性门控或关闭 KUBERC=off 特性门控来禁用此功能。 |
|
| --match-server-version | |
|
要求服务器版本与客户端版本匹配。 |
|
| -n, --namespace string | |
|
如果存在,则是此 CLI 请求的命名空间范围。 |
|
| --password string | |
|
对 API 服务器进行基本身份验证所用的密码。 |
|
| --profile string 默认值:"none" | |
|
要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。 |
|
| --profile-output string 默认值:"profile.pprof" | |
|
性能分析信息要写入的目标文件的名称。 |
|
| --request-timeout string 默认值:"0" | |
|
在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 值为零表示请求不会超时。 |
|
| -s, --server string | |
|
Kubernetes API 服务器的地址和端口。 |
|
| --storage-driver-buffer-duration duration 默认值:1m0s | |
|
对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。 |
|
| --storage-driver-db string 默认值:"cadvisor" | |
|
数据库名称。 |
|
| --storage-driver-host string 默认值:"localhost:8086" | |
|
数据库 host:port。 |
|
| --storage-driver-password string 默认值:"root" | |
|
数据库密码。 |
|
| --storage-driver-secure | |
|
使用与数据库的安全连接。 |
|
| --storage-driver-table string 默认值:"stats" | |
|
表名。 |
|
| --storage-driver-user string 默认值:"root" | |
|
数据库用户名。 |
|
| --tls-server-name string | |
|
服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。 |
|
| --token string | |
|
向 API 服务器进行身份验证的持有者令牌。 |
|
| --user string | |
|
要使用的 kubeconfig 用户的名称。 |
|
| --username string | |
|
对 API 服务器进行基本身份验证时所用的用户名。 |
|
| --version version[=true] | |
|
--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。 |
|
| --warnings-as-errors | |
|
将从服务器收到的警告视为错误,并以非零退出码退出。 |
|
另请参见
- kubectl - kubectl 控制 Kubernetes 集群管理器
- kubectl top node - 显示节点的资源(CPU/内存)使用情况
- kubectl top pod - 显示 Pod 的资源(CPU/内存)使用情况