How to use the command `kubectl describe` (with examples)

How to use the command `kubectl describe` (with examples)

The kubectl describe command is a powerful tool in Kubernetes that allows users to view detailed information about Kubernetes objects and resources. This command can be used to obtain more information about pods, nodes, and other Kubernetes objects defined in YAML manifests.

Use case 1: Show details of pods in a namespace

Code:

kubectl describe pods -n namespace

Motivation: When troubleshooting issues with pods in a specific namespace, it can be helpful to gather detailed information about the pods. The kubectl describe command provides valuable insights into the status, conditions, and events associated with each pod.

Explanation:

  • kubectl describe is the command itself.
  • pods specifies the type of Kubernetes object we want to describe.
  • -n is the short form of --namespace flag used to specify the namespace of the pods.
  • namespace is the name of the Kubernetes namespace.

Example output:

Name:         my-pod
Namespace:    my-namespace
...

Use case 2: Show details of nodes in a namespace

Code:

kubectl describe nodes -n namespace

Motivation: Understanding the details of the nodes in a namespace can be crucial for monitoring and troubleshooting purposes. With the kubectl describe command, users can retrieve information like the node’s IP address, operating system, and the pods running on it.

Explanation:

  • kubectl describe is the command itself.
  • nodes specifies the type of Kubernetes object we want to describe.
  • -n is the short form of --namespace flag used to specify the namespace of the nodes.
  • namespace is the name of the Kubernetes namespace.

Example output:

Name:         my-node
Roles:        worker
...

Use case 3: Show the details of a specific pod in a namespace

Code:

kubectl describe pods pod_name -n namespace

Motivation: Troubleshooting issues related to a specific pod requires obtaining detailed information about that particular pod. The kubectl describe command provides deep insights into the pod’s status, events, and associated resources.

Explanation:

  • kubectl describe is the command itself.
  • pods specifies the type of Kubernetes object we want to describe.
  • pod_name is the name of the pod we want to retrieve information for.
  • -n is the short form of --namespace flag used to specify the namespace of the pods.
  • namespace is the name of the Kubernetes namespace.

Example output:

Name:         my-pod
Namespace:    my-namespace
...

Use case 4: Show the details of a specific node in a namespace

Code:

kubectl describe nodes node_name -n namespace

Motivation: In scenarios where we need to investigate a specific node in a namespace, using the kubectl describe command helps gather detailed information about resource consumption, status, and even attached volumes.

Explanation:

  • kubectl describe is the command itself.
  • nodes specifies the type of Kubernetes object we want to describe.
  • node_name is the name of the node we want to retrieve information for.
  • -n is the short form of --namespace flag used to specify the namespace of the nodes.
  • namespace is the name of the Kubernetes namespace.

Example output:

Name:         my-node
Roles:        worker
...

Use case 5: Show details of Kubernetes objects defined in a YAML manifest

Code:

kubectl describe -f path/to/manifest.yaml

Motivation: When deploying or managing Kubernetes objects using YAML manifests, it can be helpful to have a tool that provides detailed information about these objects. The kubectl describe command can be used to get insights into the objects’ current status and events.

Explanation:

  • kubectl describe is the command itself.
  • -f is the short form of --filename flag used to specify the path to the YAML manifest file.
  • path/to/manifest.yaml is the path to the YAML manifest file we want to describe.

Example output:

Name:         my-deployment
Namespace:    my-namespace
...

Conclusion:

The kubectl describe command is a versatile and indispensable tool for obtaining detailed information about Kubernetes objects and resources. By using this command, users can troubleshoot and monitor the various components of their Kubernetes clusters effectively.

Related Posts

How to use the command 'dircolors' (with examples)

How to use the command 'dircolors' (with examples)

The ‘dircolors’ command is used to output commands that set the LS_COLOR environment variable and style the ’ls’, ‘dir’, etc.

Read More
How to use the command 'docker secret' (with examples)

How to use the command 'docker secret' (with examples)

This article provides examples of how to use the ‘docker secret’ command to manage Docker swarm secrets.

Read More
How to use the command 'srun' (with examples)

How to use the command 'srun' (with examples)

The ‘srun’ command is a part of the Slurm workload manager and is used to create an interactive Slurm job or connect to an existing job.

Read More