Skip to main content
Pods are the smallest deployable units in Kubernetes. Each pod contains one or more containers that share storage and network resources. Monitor pod health, view logs, execute commands, and manage pod lifecycle.

Key Concepts

Pod

A group of one or more containers with shared storage and network.

Container

A running instance of a container image within a pod.

Init Container

Containers that run to completion before app containers start.

Pod Status

Current state of the pod (Running, Pending, Failed, etc.).

Required Permissions

ActionPermission
View podsiam:project:infrastructure:kubernetes:read
View logsiam:project:infrastructure:kubernetes:logs
Exec into containeriam:project:infrastructure:kubernetes:logs
Create podiam:project:infrastructure:kubernetes:write
Edit podiam:project:infrastructure:kubernetes:write
Delete podiam:project:infrastructure:kubernetes:delete

Pod Status Values

StatusDescription
RunningAll containers started and at least one is running
PendingPod accepted but containers not yet running
SucceededAll containers terminated successfully (exit code 0)
FailedAll containers terminated, at least one failed
CrashLoopBackOffContainer repeatedly crashing after restart
ImagePullBackOffFailed to pull container image
Init:N/MInit containers running (N of M completed)
Init:ErrorInit container failed
TerminatingPod is being deleted
UnknownPod state cannot be determined

How to View Pods

1

Select Cluster

Choose a cluster from the cluster dropdown.
2

Select Namespace

Choose a namespace or select “all” to view pods across all namespaces.
3

Filter and Search

Use the search box to find pods by name, or filter by status.

How to View Pod Details

1

Find the Pod

Locate the pod in the list.
2

Click Pod Name

Click on the pod name to open the detail drawer.
3

Review Details

View pod information including:
  • Container status and resource usage
  • Node placement
  • Labels and annotations
  • Conditions and events
  • Volume mounts

How to View Container Logs

1

Find the Pod

Locate the pod in the list.
2

Open Actions Menu

Click the actions menu (three dots) on the pod row.
3

Select Container

Choose View Logs and select the specific container.
4

View Logs

Logs open in the bottom panel with real-time streaming.
For pods with multiple containers, select the specific container from the submenu. Init containers are listed separately.

How to Exec into a Container

1

Find the Pod

Locate the running pod.
2

Open Actions Menu

Click the actions menu on the pod row.
3

Select Container

Choose Exec and select the target container.
4

Use Terminal

A terminal opens in the bottom panel connected to the container.
Exec requires the pod to be in Running state. Use with caution in production environments.

How to Create a Pod

1

Click Create Pod

Click the Create Pod button in the page header.
2

Write YAML

Enter the pod manifest in YAML format. A template is provided.
3

Select Namespace

Choose the target namespace for the pod.
4

Create

Click Create to apply the manifest.
Pods are typically created by controllers (Deployments, StatefulSets, Jobs). Direct pod creation is mainly for testing or one-off tasks.

How to Edit a Pod

1

Open Actions Menu

Click the actions menu on the pod row.
2

Click Edit YAML

Select Edit YAML to open the editor.
3

Modify Fields

Edit the allowed fields and save.
Editable pod fields:
  • spec.containers[*].image - Container image
  • spec.activeDeadlineSeconds - Maximum pod lifetime
  • spec.tolerations - Node tolerations (limited)
  • metadata.labels - Pod labels
  • metadata.annotations - Pod annotations
Most pod fields are immutable after creation. To change other fields, delete and recreate the pod (or update the parent controller).

How to Delete a Pod

1

Open Actions Menu

Click the actions menu on the pod row.
2

Select Delete Option

Choose Delete for graceful termination or Force Delete for immediate termination.
3

Confirm

Confirm the deletion.
Delete options:
OptionBehavior
DeleteGraceful termination with default grace period (usually 30 seconds)
Force DeleteImmediate termination (grace_period=0)
If the pod is managed by a controller (Deployment, ReplicaSet, etc.), a replacement pod will be created automatically.

Understanding Restarts

High restart counts indicate problems:
Restart CountIndication
0Normal - pod stable
1-5May be normal or recovering from transient issue
>5Investigation needed - likely crash loop
Common restart causes:
  • Application crashes (check logs)
  • Out of memory (OOMKilled)
  • Liveness probe failures
  • Failed startup commands

Troubleshooting

  • Insufficient resources: Node doesn’t have enough CPU/memory
  • Node selector mismatch: No node matches the selector
  • Taints and tolerations: Pod lacks required tolerations
  • PVC pending: Persistent volume claim not bound
  • Image pull issues: Check image name and pull secrets
  • Application is crashing repeatedly
  • Check container logs for error messages
  • Verify command and arguments are correct
  • Check if required environment variables are set
  • Ensure mounted secrets/configmaps exist
  • Image name or tag is incorrect
  • Image doesn’t exist in registry
  • Registry authentication failed (check imagePullSecrets)
  • Network connectivity to registry blocked
  • Pod must have started at least once
  • Container must exist (check init containers for init phase)
  • Use “previous” option for crashed container logs
  • Verify you have logs permission
  • Pod must be in Running state
  • Container must be running (not init phase)
  • Network connectivity to node required
  • Verify you have logs permission
  • Node under resource pressure (memory, disk, PID)
  • Check node conditions for pressure status
  • Review pod resource requests and limits
  • Consider adding pod priority class
  • Container exceeded memory limit
  • Increase memory limit in pod spec
  • Profile application memory usage
  • Check for memory leaks

FAQ

Phase is the high-level lifecycle state (Pending, Running, Succeeded, Failed, Unknown). Status provides more detail including container-specific states like CrashLoopBackOff or ImagePullBackOff.
Pods are designed to be immutable for reliability. To change configuration, update the parent controller (Deployment, StatefulSet) which will create new pods with the updated spec.
Use the “previous” option when viewing logs to see output from the previous container instance before it crashed.
The Deployment’s ReplicaSet will automatically create a replacement pod to maintain the desired replica count.
Common causes include application crashes, OOM kills, and liveness probe failures. Check container logs and events for specific error messages.
The node name is displayed in the pod list and detail view. You can also filter or sort by node.
Quality of Service class determines pod eviction priority: Guaranteed (highest), Burstable, BestEffort (lowest). Set resource requests and limits to control QoS.
Yes, but only while the init container is running. Once it completes, you can only view its logs (using previous container option if needed).