Skip to content

4.1. Deployments

Overview

The Deployments page manages every Deployment held on the MCM control plane in one place. You can check and manage the status, replica count, and pod situation of Deployments spread across several clusters.

What it is for:

  • Managing multi-cluster Deployments together
  • Monitoring how they are deployed per cluster
  • Creating, changing, and deleting Deployments
  • Scaling up and down, and restarting
  • Checking the PropagationPolicy and OverridePolicy

How the Screen Is Laid Out

The Deployments page shows the Deployment list as a table.

The Deployments main screen

The Elements at the Top of the Page

ElementDescription
Namespace filterShows only the Deployments of a particular namespace
Refresh buttonRefreshes the Deployment list
Create buttonOpens the dialog for creating a new Deployment
Search boxSearches by Deployment name

Table Columns

ColumnDescriptionSortable
NameThe Deployment name
StatusHealthy / Unhealthy
NamespaceThe namespace the Deployment belongs to
ClustersHow it is deployed per cluster (synced / total)
PodsReady pods / total pods
AgeThe time since the Deployment was created
ActionsThe scale, restart, edit, and delete buttons-

How Status Is Shown

StatusDescriptionHow it is shown
HealthyEvery replica is ReadyA green badge
UnhealthySome or all replicas are not ReadyA red badge

How It Is Distributed Across Clusters

The Clusters column shows the Deployment's multi-cluster sync state:

  • 2/2: synced normally to 2 of 2 clusters
  • 1/2: synced to only 1 of 2 clusters
  • Clicking a cluster badge shows the detail for that cluster

Deployment Detail

Clicking a Deployment row opens the detail panel.

Deployment detail

The Detail Panel Header

ElementDescription
Deployment nameThe name of the chosen Deployment
Status badgeHealthy / Unhealthy
NamespaceThe namespace the Deployment belongs to
Sync StatusThe N/N cluster sync figure

The Action Buttons

ButtonWhat it does
ScaleAdjusts the replica count (scale up or down)
RestartRolling-restarts the Deployment
RefreshRefreshes the Deployment information
EditOpens the YAML edit mode
DeleteDeletes the Deployment

The Tabs

The Overview Tab

Shows the Deployment's basic information, replica state, and strategy.

Basic information:

ItemDescription
NameThe Deployment name
NamespaceThe namespace the Deployment belongs to
ClustersThe list of clusters it is deployed to
StatusHealthy / Unhealthy
AgeThe time since creation
CreatedWhen the Deployment was created

Replica state:

ItemDescription
Current ReplicasThe number of replicas running now
Desired ReplicasThe replica count that is set
Ready ReplicasThe number of replicas that are Ready
Available ReplicasThe number of replicas that are Available
Updated ReplicasThe number of replicas updated to the latest version

Pod state:

The pod state section shows the Deployment's pods visually:

  • Running: pods working normally
  • Pending: pods waiting to be scheduled
  • Succeeded: pods that have completed
  • Failed: pods that failed
  • Unknown: the state cannot be determined

Strategy:

ItemDescription
Strategy TypeRollingUpdate or Recreate
Max SurgeThe number or share of pods that may be created on top during an update
Max UnavailableThe number or share of pods that may be down during an update

Container images:

Shows the list of container images defined on the Deployment:

  • The container name
  • The image name and tag

The Multi-Cluster Policies Tab

Shows the multi-cluster policies that apply to the Deployment.

The multi-cluster policies tab

PropagationPolicy:

ItemDescription
Policy NameThe name of the PropagationPolicy applied
Scheduler nameThe scheduler in use
Cluster affinityThe list of target clusters
Replica schedulingHow replicas are shared out per cluster

OverridePolicy:

ItemDescription
Policy NameThe name of the OverridePolicy applied
Override RulesThe per-cluster custom settings

The Labels Tab

Shows the list of Kubernetes labels applied to the Deployment.

The Annotations Tab

Shows the list of annotations applied to the Deployment.

The Pods Tab

Shows the list of pods running for that Deployment.

The Pods tab
ColumnDescription
NameThe pod name
ClusterThe cluster the pod is running on
StatusThe pod state (Running / Pending / Failed and so on)
NodeThe node the pod is scheduled on
RestartsThe pod restart count
AgeThe time since the pod was created
ActionsView detail, delete, and so on

The ReplicaSets Tab

Shows the list of ReplicaSets the Deployment manages:

  • The ReplicaSet name
  • The replica count
  • The image version
  • When it was created

The Events Tab

Shows the Kubernetes events related to the Deployment.

Creating a Deployment

Creates a new Deployment on the MCM control plane.

Fields

FieldRequiredDescription
NameThe Deployment name
NamespaceThe namespace to deploy into
ReplicasThe initial replica count (default: 1)
Container imageThe container image URL
Ports-The container port settings
Environment variables-The container environment variables
Resource limits-The CPU and memory limits and requests

Editing the YAML

The "Edit YAML" tab lets you write the Deployment definition directly.

Deployment Operations

Scaling Up and Down

Adjusts the Deployment's replica count.

  1. Choose the Deployment in the list
  2. Press "Scale" in the actions, or the "Scale" button in the detail panel
  3. Enter the replica count you want
  4. Press the "Confirm" button

Note: the scale change is made on the MCM control plane and shared out to the member clusters according to the PropagationPolicy.

Rolling Restart

Restarts every pod of the Deployment in turn.

  1. Choose the Deployment
  2. Press the "Restart" button in the detail panel
  3. Press the "Restart" button in the confirmation dialog

On restart the pods are recreated in turn according to the RollingUpdate strategy.

Editing a Deployment

  1. Choose the Deployment
  2. Press the "Edit" button in the detail panel
  3. Change the Deployment definition in the YAML editor
  4. Press the "Save" button

Deleting a Deployment

⚠️ Caution: deleting a Deployment deletes every ReplicaSet and pod that belongs to it. Resources deployed to member clusters are handled according to the deletion policy.

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

Worked Examples

Scenario 1: Creating a Multi-Cluster Deployment

  1. Press the "Create" button
  2. Enter the Deployment details:
    • Name: my-app
    • Namespace: production
    • Replicas: 3
    • Container image: my-registry/my-app:v1.0
  3. Press the "Create" button
  4. Create a PropagationPolicy naming the target clusters
  5. Check how it is deployed per cluster

Scenario 2: Checking Deployment Status

  1. Click the Deployment you want to check in the list
  2. Check the replica state on the Overview tab
  3. Check individual pod state and cluster distribution on the Pods tab
  4. Check the recent events on the Events tab
  5. Where there is a problem, check the pod logs

Scenario 3: Scaling Out

  1. Choose the Deployment to scale out
  2. Press the "Scale" button
  3. Raise the replica count to what you want (3 → 5, for example)
  4. Press "Confirm"
  5. Watch the new pods being created on the Pods tab
  6. Check how the pods are distributed per cluster

Scenario 4: A Rolling Update

  1. Choose the Deployment and press "Edit"
  2. Change the container image version (v1.0v1.1, for example)
  3. Press "Save"
  4. Watch the update progress on the Overview tab
  5. See the new ReplicaSet appear on the ReplicaSets tab
  6. Watch the pods being replaced in turn on the Pods tab

Scenario 5: Checking the Multi-Cluster Policies

  1. Choose the Deployment
  2. Click the "Multi-Cluster Policies" tab
  3. Check the PropagationPolicy:
    • The list of target clusters
    • How replicas are shared out
  4. Check the OverridePolicy (where there is one):
    • The per-cluster custom settings
  5. Go to the Policies menu to change a policy if needed

The RollingUpdate Strategy

The Deployment's default update strategy, which replaces pods in turn with no downtime:

  • maxSurge: how many pods may be created on top during an update (default: 25%)
  • maxUnavailable: how many pods may be unavailable during an update (default: 25%)

PropagationPolicy

The policy by which MCM shares a workload out to member clusters:

  • Choosing the target clusters (by cluster name, by label, and so on)
  • How replicas are shared out (Duplicated, Divided)
  • The scheduling priority

OverridePolicy

The policy that customises workload settings per cluster:

  • Image overrides (a different registry per cluster)
  • Resource limit overrides
  • Environment variable overrides

ReplicaSet

The controller a Deployment manages internally, responsible for creating and scaling the actual pods:

  • A ReplicaSet is created per Deployment version
  • A rollback activates the previous ReplicaSet
  • History is kept

Next Steps