kubectl get 常用命令

运维   2025-09-23 09:36   109   0  

 一句话总结:

kubectl get 是你日常操作 Kubernetes 最常用的命令之一 —— 用来列出或查询集群中各种资源的状态和基本信息


✅ 常用功能速查

1. 查看所有 Pod

kubectl get pods

2. 查看更详细信息(如所在节点)

kubectl get pods -o wide

3. 查看指定名称的资源

kubectl get deployment my-app

4. 查看 JSON/YAML 格式输出(调试用)

kubectl get pod my-pod -o jsonkubectl get pod my-pod -o yaml

5. 跨命名空间查看资源

kubectl get pods --all-namespaces

# 或简写

kubectl get pods -A

6. 指定命名空间

kubectl get deployments -n kube-system

7. 使用标签选择器过滤

kubectl get pods -l app=myapp

8. 自定义列输出(适合做报表或监控)

kubectl get pod -o custom-columns=NAME:.metadata.name,NODE:.spec.nodeName,STATUS:.status.phase

9. 使用 Go 模板提取特定字段

kubectl get pod my-pod -o template --template={{.status.phase}}

10. 查看 CRD 资源(比如你之前创建的阿里云 Pipeline 配置)

kubectl get clusteraliyunpipelineconfig.telemetry.alibabacloud.com

# 或简写(如果已注册短名)

kubectl get clusteraliyunpipelineconfig

🧩 特别提示:关于你之前的资源

比如你之前创建了一个叫:

clusteraliyunpipelineconfig.telemetry.alibabacloud.com/example-k8s-file

你可以用如下命令查看它的当前状态:

kubectl get clusteraliyunpipelineconfig.telemetry.alibabacloud.com/example-k8s-file -o yaml

或者简写(如果支持):

kubectl get clusteraliyunpipelineconfig example-k8s-file -o yaml

这会显示该资源的完整定义,包括:

  • .metadata.finalizers(就是之前警告的那个字段)

  • .spec 配置内容

  • .status 当前状态(如果有)

📚 小技巧

  • 不知道资源类型叫什么?
    运行:

    kubectl api-resources

    可以看到所有支持的资源类型及其 GROUP、VERSION、SHORTNAME。

  • 想看某个资源有哪些字段可以提取?
    先用 -o yaml 看结构,再配合 --templatecustom-columns 提取你需要的信息。

  • 想持续监控资源变化?

    kubectl get pods -w

🚨 注意事项

  • 默认只显示当前命名空间的资源,跨命名空间记得加 -A 或 --all-namespaces

  • -f 用于从文件读取资源配置并获取对应实例

  • -k 用于处理 Kustomize 目录

  • --subresource 可查看子资源,如 Pod 的 status 或 scale

💡 示例:查看你刚创建的阿里云 Pipeline 资源

# 查看是否存在
kubectl get clusteraliyunpipelineconfig

# 查看详细 YAML
kubectl get clusteraliyunpipelineconfig example-k8s-file -o yaml

# 查看 Finalizer 字段(验证警告内容)
kubectl get clusteraliyunpipelineconfig example-k8s-file -o jsonpath='{.metadata.finalizers}'

📖 延伸阅读


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。