Skip to content

4.10. Pods

Overview

The Pods page shows every pod in the multi-cluster environment in one place. A pod is the smallest deployable unit in Kubernetes -- a logical host holding one or more containers.

What it is for:

  • Viewing multi-cluster pods together
  • Monitoring pod status and resource usage
  • Reading container logs live
  • Checking the pod status conditions

What a pod is like:

  • The smallest deployable unit in Kubernetes
  • Holds one or more containers
  • Shares network and storage
  • Is ephemeral by nature

How the Screen Is Laid Out

The Pods page shows the pod list as a table. This resource is of the Managed type, so it shows the resources that exist on the member clusters.

The Pods main screen

The Elements at the Top of the Page

ElementDescription
Cluster filterShows only the pods of a particular cluster
Namespace filterShows only the pods of a particular namespace
Refresh buttonRefreshes the pod list
Search boxSearches by pod name

Table Columns

ColumnDescriptionSortable
NameThe pod name
NamespaceThe namespace the pod belongs to
ClusterThe cluster the pod is running on
StatusThe pod state (Running / Pending / Failed and so on)
ReadyReady containers / total containers
CPUThe CPU request and limit (request: 100m / limit: 500m, for example)
MemoryThe memory request and limit (request: 128Mi / limit: 256Mi, for example)
IPThe pod IP address
NodeThe node the pod is scheduled on
RestartsThe container restart count
AgeThe time since the pod was created
ActionsThe view and delete buttons-

How Status Is Shown

The Status column shows the pod's current state:

StatusDescriptionHow it is shown
RunningThe pod is running normallyGreen
PendingWaiting to be scheduled, or pulling the imageYellow
SucceededEvery container ended successfullyBlue
FailedOne or more containers failedRed
UnknownThe pod state cannot be determinedGrey

How the Resources Are Shown

The CPU and Memory columns show the resource requests and limits:

  • Format: request: [value] / limit: [value]
  • For example request: 100m / limit: 500m (CPU)
  • For example request: 128Mi / limit: 256Mi (memory)
  • Where no resources are set, - is shown

Pod Detail

Clicking a pod row opens the detail panel.

Pod detail

The Detail Panel Header

ElementDescription
Pod nameThe name of the chosen pod
Managed badgeMarks it as a member cluster resource
NamespaceThe namespace the pod belongs to
ClusterThe cluster the pod is running on
StatusThe pod state (Running / Pending and so on)

The Action Buttons

ButtonWhat it does
RefreshRefreshes the pod information
ViewOpens the YAML view mode
DeleteDeletes the pod

The Tabs

The Overview Tab

Shows the pod's basic information, network information, specification, and containers.

Basic information:

ItemDescription
NameThe pod name
NamespaceThe namespace the pod belongs to
ClusterThe cluster the pod is running on
StatusThe pod state
AgeThe time since creation
CreatedWhen the pod was created

Network Information:

ItemDescription
Pod IPThe IP address assigned to the pod
Host IPThe IP of the node the pod runs on
NodeThe name of the node the pod is scheduled on
QoS ClassThe quality of service class (Guaranteed / Burstable / BestEffort)

Spec Information:

ItemDescription
Restart PolicyThe container restart policy (Always / OnFailure / Never)
Service AccountThe service account the pod uses
RestartsThe total container restart count

Containers:

Shows the list of containers in the pod:

  • The container name
  • The state (ready / waiting / failed)
  • The restart count

Container images:

Shows the image of each container. The copy button copies the image URL to the clipboard.

The Labels Tab

Shows the list of Kubernetes labels applied to the pod.

The Annotations Tab

Shows the list of annotations applied to the pod.

The Conditions Tab

Shows the pod's status conditions.

The Conditions tab

The conditions:

ConditionDescription
InitializedThe init containers completed successfully
PodScheduledThe pod has been scheduled on a node
ContainersReadyEvery container is ready
ReadyThe pod is ready to handle requests
PodReadyToStartContainersThe pod is ready to start its containers

Each condition shows:

  • The condition name
  • Its state (True / False / Unknown)
  • The last transition time

Sort options:

  • Newest: by last transition time, newest first
  • Oldest: by last transition time, oldest first
  • By type: alphabetically by condition type

The Logs Tab

Shows the container logs live.

The Logs tab

Main features:

  • Reading container logs live
  • Choosing the container on a multi-container pod
  • Scrolling and searching the logs

Note: the logs are read directly from the member cluster the pod runs on.

The Events Tab

Shows the Kubernetes events related to the pod.

Pod Operations

Viewing the Pod YAML

  1. Choose the pod
  2. Press the "View" button in the detail panel
  3. Read the pod definition in the YAML viewer

Deleting a Pod

⚠️ Caution: deleting a pod ends its containers at once. A pod managed by a Deployment is recreated automatically.

  1. Choose the pod to delete
  2. Press the "Delete" button in the detail panel
  3. Type the pod name in the confirmation dialog
  4. Press the "Delete" button

Worked Examples

Scenario 1: Checking Pod Status

  1. Click the pod you want to check on the Pods page
  2. Check the basic information on the Overview tab:
    • The pod state (Running / Pending and so on)
    • Whether the containers are ready
  3. Check the detailed conditions on the Conditions tab:
    • The True/False state of each condition
    • The last transition time
  4. Where there is a problem, find the cause on the Events tab

Scenario 2: Reading Container Logs

  1. Click the pod whose logs you want
  2. Choose the Logs tab
  3. Read the container logs live
  4. Choose the container on a multi-container pod
  5. Search and scroll the logs as needed

Scenario 3: Viewing Pods per Cluster

  1. Click the cluster filter dropdown
  2. Choose the cluster to check
  3. Only that cluster's pods are shown
  4. Add the namespace filter as well if needed

Scenario 4: Debugging a Problem Pod

  1. Find the pods showing "Pending" or "Failed" in the Status column
  2. Click the pod for its detail
  3. Check which condition is False on the Conditions tab
  4. Check the error message on the Events tab
  5. Check the container logs on the Logs tab
  6. Act once the cause is found

Scenario 5: Checking Resource Usage

  1. Check the CPU and Memory columns in the pod list
  2. Check the resource request and limit values
  3. Check the QoS class in the detail panel
  4. Change the Deployment where the resources need adjusting

The Pod Lifecycle

A pod goes through these phases:

  1. Pending: waiting to be scheduled, or pulling the image
  2. Running: one or more containers are running
  3. Succeeded: every container ended successfully
  4. Failed: one or more containers ended in failure
  5. Unknown: the pod state cannot be determined

The Pod Status Conditions

ConditionDescription
PodScheduledThe pod has been scheduled on a node
InitializedEvery init container completed
ContainersReadyEvery container is ready
ReadyThe pod is ready to take traffic

QoS (Quality of Service) Classes

ClassConditionPriority
GuaranteedEvery container has the same request and limitHighest
BurstableRequests or limits are set in partMiddle
BestEffortNo requests or limitsLowest

When resources run short, BestEffort pods are evicted first.

Restart Policies

PolicyDescriptionWhere it is used
AlwaysAlways restarts (the default)Deployment, StatefulSet
OnFailureRestarts only on failureJob
NeverNever restartsOne-off work

Container States

StateDescription
WaitingWaiting for the container to start
RunningThe container is running
TerminatedThe container has ended

Managed Resources

A pod is a Managed resource:

  • A resource that exists directly on a member cluster
  • It can only be viewed from the MCM control plane
  • The cluster filter shows a particular cluster's resources
  • Logs and status are read directly from the member cluster

Resolving Problems

When a pod stays Pending:

  • Resources are short: the node has not enough CPU or memory
  • The image pull failed: check the image name and registry authentication
  • The node selector: no node matches the condition
  • Waiting on a PVC binding: check the PersistentVolume

When a pod is in CrashLoopBackOff:

  • The container fails over and over
  • Check the error message on the Logs tab
  • An application configuration or dependency problem

When a pod is in ImagePullBackOff:

  • The image name is wrong
  • The registry cannot be reached
  • The image pull secret is missing

Next Steps