Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

I’m trying out the latest Gateway API on DOKS, following this tutorial.
I apply the exact same yaml provided to provision a Gateway, but when I try to get the gateway, it says:
> kubectl get gateways
NAME CLASS ADDRESS PROGRAMMED AGE
cilium-gateway-http cilium Unknown 3m14s
instead of the PROGRAMMED=true indicated in the tutorial.
Furthermore, I notice the Cilium GatewayClass provided by DO seems to have some issues:
> kubectl describe gatewayclass cilium
Name: cilium
Namespace:
Labels: c3.doks.digitalocean.com/component=cilium
c3.doks.digitalocean.com/plane=data
c3.doks.digitalocean.com/variant=ebpf
doks.digitalocean.com/managed=true
Annotations: <none>
API Version: gateway.networking.k8s.io/v1
Kind: GatewayClass
Metadata:
Creation Timestamp: 2025-10-31T05:32:49Z
Generation: 1
Resource Version: 1502
UID: 9e7488ed-5ed3-47ee-b599-b0c731dd5a6f
Spec:
Controller Name: io.cilium/gateway-controller
Description: The default Cilium GatewayClass
Status:
Conditions:
Last Transition Time: 1970-01-01T00:00:00Z
Message: Waiting for controller
Reason: Pending
Status: Unknown
Type: Accepted
Events: <none>
Notice the Message says “Waiting for controller”, and the timestamp seems like a placeholder.
Can confirm the cluster is running on the latest version
> kubectl version
Client Version: v1.34.1
Kustomize Version: v5.7.1
Server Version: v1.33.1
I’ve tried to create another cluster in a different region, but they all result in the same error.
What can go wrong here?
indranil
jazzybruno
jazzybruno
0297a1be4ef34411acb68f6e0a1bf2
Robin van der Knaap
Tomy Hsieh
Tuschl
Emiliano Maccaferri
ff6b6d1e81e04f99a8a3bac4ffd394