Skip to main content
Kubernetes Dashboard provides a user-friendly interface for deploying and managing applications on your cluster. This guide covers how to create deployments, manage workloads, and configure application settings.

Deployment Options

Dashboard offers two ways to deploy applications:

Create from Form

Use the web form to configure and deploy applications without writing YAML

Create from File

Upload or paste YAML/JSON manifests to deploy resources

Creating Applications from Form

The Dashboard form provides a guided experience for deploying containerized applications.

Basic Configuration

Access the creation form at CreateCreate from form.
1

Application Details

Configure the basic application settings:
  • App name: Unique identifier (max 24 characters)
  • Container image: Docker image reference (e.g., nginx:1.21)
  • Number of pods: Replica count for your deployment
  • Description: Optional description for documentation
2

Select Namespace

Choose the target namespace or create a new one. Namespaces provide logical isolation for your applications.
3

Configure Service (Optional)

Expose your application:
  • Internal: ClusterIP service (cluster-only access)
  • External: LoadBalancer or NodePort service (external access)

Advanced Options

Expand the advanced options section for additional configuration:

Labels and Annotations

The form automatically applies the label k8s-app to your deployment (modules/web/src/create/from/form/component.ts:46):
const APP_LABEL_KEY = 'k8s-app';
Add custom labels for:
  • Organization and categorization
  • Service mesh integration
  • Monitoring and alerting selectors

Environment Variables

Define environment variables for your containers:
name: DATABASE_URL
value: postgres://db:5432/myapp
Or reference ConfigMaps and Secrets:
name: API_KEY
valueFrom:
  secretKeyRef:
    name: api-credentials
    key: api-key

Port Mappings

Configure container ports and service ports:
  • Container Port: Port exposed by your application
  • Service Port: Port exposed by the Kubernetes Service
  • Protocol: TCP or UDP
Supported protocols include TCP and UDP. The form validates protocol values to ensure compatibility (modules/web/src/create/from/form/validator/validprotocol.validator.ts).

Resource Limits

Set CPU and memory constraints:
resources:
  requests:
    memory: "128Mi"
    cpu: "100m"
  limits:
    memory: "256Mi"
    cpu: "200m"

Image Pull Secrets

For private container registries, select an image pull secret or create a new one.

Creating Applications from File

Deploy resources using YAML or JSON manifests.

Upload File

  1. Navigate to CreateCreate from file
  2. Click Upload file and select your manifest
  3. Review the configuration
  4. Click Upload

Paste Content

Alternatively, paste YAML or JSON directly:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.21
        ports:
        - containerPort: 80
Dashboard validates your manifest before deployment and displays helpful error messages if issues are detected.

Managing Deployments

View and manage your deployments at WorkloadsDeployments.

Deployment Details

The deployment detail view shows (modules/api/pkg/resource/deployment/list.go:31-44):
type DeploymentList struct {
    ListMeta          types.ListMeta
    CumulativeMetrics []metricapi.Metric
    Status            common.ResourceStatus
    Deployments       []Deployment
    Errors            []error
}
  • Pods: Running, pending, and failed pod counts
  • Container Images: Images used in the deployment
  • Replica Status: Current vs. desired replica count
  • Labels: Applied labels and selectors
  • Events: Recent deployment events

Scaling Deployments

1

Navigate to Deployment

Click on your deployment from the list view
2

Edit Replica Count

Click the edit icon next to “Replicas”
3

Update Count

Enter the new replica count and save

Updating Deployments

Modify deployment configuration:
  1. Click the Edit button in the action bar
  2. Update the YAML manifest
  3. Click Update to apply changes
Updating container images triggers a rolling update. Monitor the rollout status to ensure smooth deployment.

Rolling Back

Revert to a previous deployment revision:
  1. View deployment history in the Events section
  2. Identify the revision to roll back to
  3. Use kubectl rollout undo or edit the deployment YAML

Workload Types

Dashboard supports managing various workload types:

Deployments

Stateless applications with declarative updates and rolling deployments.

StatefulSets

Stateful applications requiring stable network identities and persistent storage.

DaemonSets

Ensure a pod runs on every node (or selected nodes) in the cluster.

Jobs

Run-to-completion tasks that terminate after successful execution.

CronJobs

Scheduled jobs that run at specified intervals.

ReplicaSets

Maintain a stable set of replica pods (usually managed by Deployments).

ReplicationControllers

Legacy workload type (superseded by Deployments).

Application Actions

Common actions available in the Dashboard:

View Logs

Stream container logs in real-time

Exec Shell

Execute commands inside running containers

Edit Resource

Modify resource configuration via YAML editor

Delete Resource

Remove resources from the cluster

Best Practices

Organize applications by environment (dev, staging, prod) or team using namespaces.
Prevent resource contention by defining appropriate CPU and memory constraints.
Configure liveness and readiness probes to ensure application reliability.
Use standardized labels for better organization and service mesh integration.
Store YAML files in Git for change tracking and disaster recovery.

Next Steps

Managing Resources

Learn about pods, services, and other Kubernetes resources

Viewing Logs

Access and analyze container logs

Build docs developers (and LLMs) love