By Tomy Hsieh
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?
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hi there,
It looks like the Cilium GatewayClass controller isn’t getting picked up properly, the Waiting for controller message usually means the Cilium agent or gateway controller isn’t running or hasn’t registered yet with the Gateway API. You could try checking if the cilium-gateway-controller pod is running in the kube-system namespace or see if there are any errors in the cilium-operator logs.
That said, since this seems to be happening across clusters and regions, it might point to something on the managed side of DOKS. I’d suggest keeping your support ticket open so the DOKS team can check if the GatewayClass controller is currently deployed correctly in your environment.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.