Describe

Describes current resources

TL;DR

  • Print verbose debug information about a Resource

Describe Resources

Motivation

Describe is a higher level printing operation that may aggregate data from other sources in addition to the Resource being queried (e.g. Events).

Describe pulls out the most important information about a Resource from the Resource itself and related Resources, and formats and prints this information on multiple lines.

  • Aggregates data from related Resources
  • Formats Verbose Output for debugging
  1. kubectl describe deployments
  1. Name: nginx
  2. Namespace: default
  3. CreationTimestamp: Thu, 15 Nov 2018 10:58:03 -0800
  4. Labels: app=nginx
  5. Annotations: deployment.kubernetes.io/revision=1
  6. Selector: app=nginx
  7. Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
  8. StrategyType: RollingUpdate
  9. MinReadySeconds: 0
  10. RollingUpdateStrategy: 25% max unavailable, 25% max surge
  11. Pod Template:
  12. Labels: app=nginx
  13. Containers:
  14. nginx:
  15. Image: nginx
  16. Port: <none>
  17. Host Port: <none>
  18. Environment: <none>
  19. Mounts: <none>
  20. Volumes: <none>
  21. Conditions:
  22. Type Status Reason
  23. -
  24. Progressing True NewReplicaSetAvailable
  25. Available True MinimumReplicasAvailable
  26. OldReplicaSets: <none>
  27. NewReplicaSet: nginx-78f5d695bd (1/1 replicas created)
  28. Events: <none>

Get vs Describe

When Describing a Resource, it may aggregate information from several other Resources. For instance Describing a Node will aggregate Pod Resources to print the Node utilization.

When Getting a Resource, it will only print information available from reading that Resource. While Get may aggregate data from the fields of that Resource, it won’t look at fields from other Resources.