DigitalOcean Kubernetes clusters, on your iPhone
DigitalOcean Kubernetes (DOKS) is a Kubernetes service with a fully managed control plane, high availability and autoscaling. Duskwatch is an independent iPhone app for DigitalOcean, in development; it shows each cluster's state, node pools and the nodes that are not ready, its version, upgrades and maintenance window, and turns what looks wrong into findings.
Updated
Cluster status and version
The cluster screen starts with its state in words: running, provisioning, upgrading, degraded or error, with DigitalOcean's own message when it gives one. Below sit the settings that decide how the next upgrade goes: the Kubernetes version, whether an upgrade is available, auto-upgrade, surge upgrade, a highly available control plane and the maintenance window. Status messages that DigitalOcean posts during the cluster's lifecycle appear in their own section.
High availability creates multiple replicas of each control-plane component. Once enabled, it cannot be disabled.
DigitalOcean docs: enable high availability (external link), verified
A cluster supports up to 512 worker nodes, subject to your account's droplet limit and capacity in the region.
DigitalOcean docs: Kubernetes limits (external link), verified
Node pools and nodes not ready
Each node pool lists its nodes with their state. A node that is still provisioning after 20 minutes, or still draining or deleting after 30, counts as stuck, and the cluster gets a finding. Nodes that are only changing, such as a fresh one joining the pool, show as progress instead of a problem.
1 node not ready for 25 min · pool-web-x2k9p is provisioning · 2 of 3 running
Node pool web is at its maximum of 5 · Autoscaling 2–5 nodes
Control plane isn't highly available · A control-plane upgrade or failure pauses the Kubernetes API
A pool at its autoscaling maximum is worth knowing about before a traffic spike: the app suggests raising the maximum if pods are waiting to be scheduled. These are findings in the app, with no push for Kubernetes; for a problem that reaches your users, an uptime check on the service gives you one.
Upgrades and maintenance
When a newer version is available, the cluster screen says so and whether auto-upgrade will install it. A cluster that is upgrading shows the version it is coming from, so a node going not ready during the upgrade has context.
Automatic upgrades trigger on new Kubernetes patch versions and non-breaking DOKS point releases, run in a 4-hour upgrade window, and never move a cluster to a new minor version.
DigitalOcean docs: upgrade DOKS clusters (external link), verified
Surge upgrades create up to 10 duplicate upgraded nodes while draining the old ones, and are on by default for new clusters.
DigitalOcean docs: upgrade DOKS clusters (external link), verified
New clusters can run the three most recent minor releases. A cluster on an unsupported release is upgraded to the next minor release in its maintenance window 30 days after support ends, with emails 30, 7 and 1 day before.
DigitalOcean docs: supported releases (external link), verified
| Setting | Shown as | Why it matters |
|---|---|---|
| Version | Kubernetes version, and "available" when newer | Unsupported releases are upgraded for you |
| Auto-upgrade | "On (patch releases)" or "Off" | Patch upgrades install in the maintenance window |
| Surge upgrade | On or off | Extra nodes take the load while old ones drain |
| High availability | On or off | Without it, an upgrade or failure pauses the Kubernetes API |
| Maintenance window | Day and start time | When upgrades and maintenance may begin |
What stays with kubectl
The app watches the cluster and its nodes, the layer DigitalOcean manages. Pods, deployments, services and their logs live inside Kubernetes, behind credentials the app never fetches: it does not download a kubeconfig. For workloads, use kubectl, doctl or a Kubernetes client, and open the cluster in DigitalOcean from the app when you need its control panel.
- Cluster level: state, version, high availability, upgrades, maintenance. Shown.
- Node level: pools, nodes, their state, autoscaling limits. Shown.
- Workload level: pods, deployments, services, events, logs. Not shown.
What Duskwatch doesn't do here
- No pods, deployments, services or workload logs.
- No kubeconfig and no cluster credentials.
- No push for Kubernetes: nodes not ready and other problems are findings in the app.
- No upgrading, recycling nodes, resizing pools or deleting clusters.
Questions
Does it show pods?
No. It covers the cluster and its nodes; for pods and other workloads, use kubectl or a Kubernetes client.
Will I get a push when a node is not ready?
No. A node that stays not ready is a finding on the cluster, not a push. An uptime check on your service gives you a push when users are affected.
What does "1 node not ready for 25 min" mean?
One node has stayed provisioning, draining, deleting or in an unknown state past the normal time. The finding names the node and how many nodes in the cluster are running.
Does auto-upgrade change my Kubernetes minor version?
No. Auto-upgrade installs patch releases in the maintenance window; DigitalOcean moves a cluster to a new minor release only after its release loses support.
Can I turn off high availability later?
No. DigitalOcean does not allow disabling high availability once it is on, so the app only flags clusters that do not have it.