Kubernetes How-Tos

DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service. Deploy Kubernetes clusters with a fully managed control plane, high availability, autoscaling, and native integration with DigitalOcean Load Balancers and volumes. DOKS clusters are compatible with standard Kubernetes toolchains and the DigitalOcean API and CLI.


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.
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.
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.

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.