kubectl get
查看集群中各种资源的列表和状态信息
语法
kubectl get <resource> [name] [flags]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-o wide |
显示更多列信息(IP、节点等) | kubectl get pods -o wide |
常用 |
-o yaml |
以 YAML 格式输出完整资源定义 | kubectl get pod nginx -o yaml |
常用 |
-o json |
以 JSON 格式输出 | kubectl get svc -o json |
常用 |
-n --namespace |
指定命名空间 | kubectl get pods -n kube-system |
常用 |
-A --all-namespaces |
查看所有命名空间的资源 | kubectl get pods -A |
常用 |
-l --selector |
按标签筛选资源 | kubectl get pods -l app=nginx |
常用 |
-w --watch |
持续监听资源变化 | kubectl get pods -w |
进阶 |
示例
查看所有 Pod
kubectl get pods
显示当前命名空间的 Pod 列表
查看所有命名空间的 Pod
kubectl get pods -A
快速了解集群全局 Pod 状态
查看节点状态
kubectl get nodes -o wide
包含 IP、系统版本等详细信息
按标签筛选
kubectl get pods -l app=web,env=prod
支持多标签组合筛选
自定义输出列
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
只显示需要的字段
常见错误
No resources found in default namespace
确认资源是否在其他命名空间,尝试加 -A 参数
the server doesn't have a resource type
检查资源类型拼写,用 kubectl api-resources 查看可用类型
技巧
- kubectl get all 可以查看命名空间下的主要资源,但不包含 ConfigMap、Secret 等
- 用 -w 参数实时监控 Pod 状态变化,排查部署问题很有用