Create a DigitalOcean Kubernetes cluster with CPU and GPU nodes to start running containerized applications in the cloud.
Kubernetes How-Tos
Generated on 5 May 2025
DigitalOcean Kubernetes (DOKS) is a Kubernetes service with a fully managed control plane, high availability, and autoscaling. DOKS integrates with standard Kubernetes toolchains and DigitalOcean’s load balancers, volumes, CPU and GPU Droplets, API, and CLI.
Getting Started
Connect to a Kubernetes cluster with kubectl, the official Kubernetes command-line tool.
Create additional node pools for an existing cluster
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 log forwarding to Managed OpenSearch in DigitalOcean Kubernetes.
Add a firewall to the cluster’s control plane for improved security and traffic.
Autoscaling
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.
Cluster Management
Manage IP routes on Kubernetes worker nodes using the routing agent
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.
Fine-tune access to Kubernetes clusters using custom team roles.
Monitoring
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.