Kubernetes How-Tos

DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service that lets you deploy Kubernetes clusters without the complexities of handling the control plane and containerized infrastructure. Clusters are compatible with standard Kubernetes toolchains, integrate natively with DigitalOcean Load Balancers and volumes, and can be managed programmatically using the API and command line. For critical workloads, add the high-availability control plane to increase uptime with 99.95% SLA.

Getting Started

Create a DigitalOcean Kubernetes cluster in the control panel to start running containerized applications in the cloud.
Connect to a Kubernetes cluster with kubectl, the official Kubernetes command-line tool.
Install 1-Click Applications on DigitalOcean Kubernetes clusters.
Destroy a DigitalOcean Kubernetes cluster to permanently and irreversibly remove it from an account.
Enable high availability to ensure 99.95% SLA uptime.
Use GitHub Actions to trigger a workflow to deploy a new image to your Kubernetes cluster.


Enable autoscaling to automatically adjust the number of nodes in a cluster based on the cluster’s capacity to schedule pods. Combine with a Horizontal Pod Autoscaler (HPA) to make clusters highly responsive to resource demands.
Autoscale a DigitalOcean Kubernetes cluster using cluster autoscaling (CA) and horizontal pod autoscaling (HPA).

Data Storage

Integrate a container registry with your Kubernetes cluster.
Create a PersistentVolumeClaim (PVC) to use DigitalOcean Volumes Block Storage for persistent data in Kubernetes clusters.
Delete a volume from a Kubernetes cluster using kubectl to permanently and irreversibly remove it from the cluster and DigitalOcean account.
Import a volume into DigitalOcean from an existing snapshot of data.
Create volume snapshots to save the contents of the volume’s disk, then use the snapshot to restore or create new volumes with the same contents.
Import an existing DigitalOcean snapshot into a cluster.
Use the database operator to automatically integrate new databases to your Kubernetes cluster.
Use Spaces object storage with Kubernetes clusters.

Load Balancing

Declare a DigitalOcean Load Balancer in the cluster manifest to distribute traffic across all worker nodes in the cluster.
Configure advanced load balancer settings for sticky sessions, health checks, and always-on SSL.
Pass load balancer ownership from one service to another.
Delete a load balancer from a Kubernetes cluster using kubectl to permanently and irreversibly remove it from the cluster and DigitalOcean account.
Create an internal load balancer to access DigitalOcean Kubernetes services.

Cluster Management

Customize CoreDNS settings to change system configuration and provide specific options for domains.
Upgrade clusters to newer patch versions or newer minor versions using the control panel or command-line interface.


Monitor metrics like CPU usage, load averages, and bandwidth to support capacity planning and provide insight into cluster health. View visualizations on resource utilization for individual nodes, node pools, or clusters.
How to access Cilium Hubble and Hubble UI
Install the sidecar agent for detailed metric visualizations on Kubernetes objects, like deployment progress for pods, DaemonSets, and StatefulSets.