-
Notifications
You must be signed in to change notification settings - Fork 704
Open
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.lifecycle/needs-triageIndicates that an issue needs to be triaged by a project contributor.Indicates that an issue needs to be triaged by a project contributor.
Description
What steps did you take and what happened:
I installed Contour using Helm with Gateway API enabled:
helm repo add contour https://projectcontour.github.io/helm-charts/
helm repo update
helm upgrade --install contour contour/contour --namespace contour --wait --create-namespace -f contour-values.yamlcontour-values.yaml:
contour:
service:
loadBalancerIP: 158.160.0.255
gatewayAPI:
manageCRDs: trueThen I applied a GatewayClass manifest:
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: contour
spec:
controllerName: projectcontour.io/gateway-controllerkubectl apply -f gateway.yamlAfter that, I checked the status:
kubectl get gatewayclass
NAME CONTROLLER ACCEPTED AGE
contour projectcontour.io/gateway-controller Unknown 25sWhat did you expect to happen:
I expected the ACCEPTED column to show True, indicating that the GatewayClass is recognized and managed by the Contour Gateway API controller.
Anything else you would like to add:
It seems the controller is not marking the GatewayClass as accepted, but I’m not sure whether it’s a configuration issue or a bug.
Environment:
- Contour version: (run
helm list -n contourto check)
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
contour contour 1 2025-11-30 13:34:27.258875714 +0600 +06 deployed contour-0.2.0 1.33.0
- Kubernetes version: (run
kubectl version)
kubectl version
Client Version: v1.34.1
Kustomize Version: v5.7.1
Server Version: v1.33.3
- Kubernetes installer & version: v1.33.3
- Cloud provider or hardware configuration: Cloud provider
Commands to gather debug information:
Check Contour pods
kubectl get pods -n contour
NAME READY STATUS RESTARTS AGE
contour-contour-79f8b6fff4-9xr2r 1/1 Running 0 8m46s
contour-envoy-7hnqt 2/2 Running 0 8m47s
contour-envoy-cx6vc 2/2 Running 0 8m46s
contour-envoy-wgk5z 2/2 Running 0 8m46s
Check logs of the Contour Gateway API controller
kubectl logs -n contour deploy/contour-contour -c contour
time="2025-11-30T07:34:48Z" level=info msg="maxprocs: Updating GOMAXPROCS=1: using minimum allowed GOMAXPROCS"
time="2025-11-30T07:34:48Z" level=info msg="args: [serve --incluster --xds-address=0.0.0.0 --xds-port=8001 --http-port=8000 --envoy-service-http-port=8080 --envoy-service-https-port=8443 --contour-cafile=/certs/ca.crt --contour-cert-file=/certs/tls.crt --contour-key-file=/certs/tls.key --config-path=/config/contour.yaml --envoy-service-namespace=contour --envoy-service-name=contour-envoy --leader-election-resource-name=contour-contour-contour --log-format=text --kubernetes-debug=0]"
time="2025-11-30T07:34:49Z" level=info msg="started event handler" context=contourEventHandler
time="2025-11-30T07:34:49Z" level=info msg="started HTTP server" address="127.0.0.1:6060" context=debugsvc
time="2025-11-30T07:34:49Z" level=info msg="started HTTP server" address="0.0.0.0:8000" context=metricsvc
time="2025-11-30T07:34:49Z" level=info msg="waiting for the initial dag to be built" context=xds
time="2025-11-30T07:34:49Z" level=info msg="attempting to acquire leader lease contour/contour-contour-contour..." caller="leaderelection.go:257" context=kubernetes
time="2025-11-30T07:34:49Z" level=info msg="successfully acquired lease contour/contour-contour-contour" caller="leaderelection.go:271" context=kubernetes
time="2025-11-30T07:34:49Z" level=info msg="started status update handler" context=StatusUpdateHandler
time="2025-11-30T07:34:49Z" level=info msg="received a new address for status.loadBalancer" context=loadBalancerStatusWriter loadbalancer-address=
time="2025-11-30T07:34:49Z" level=info msg="the initial dag is built" context=xds
time="2025-11-30T07:34:49Z" level=info msg="started xDS server" address="0.0.0.0:8001" context=xds
time="2025-11-30T07:34:49Z" level=info msg="performing delayed update" context=contourEventHandler last_update=121.48634ms outstanding=3
time="2025-11-30T07:34:52Z" level=info msg="received a new address for status.loadBalancer" context=loadBalancerStatusWriter loadbalancer-address=158.160.142.188
Check GatewayClass details
kubectl describe gatewayclass contour
kubectl describe gatewayclass contour
Name: contour
Namespace:
Labels: <none>
Annotations: <none>
API Version: gateway.networking.k8s.io/v1
Kind: GatewayClass
Metadata:
Creation Timestamp: 2025-11-30T07:35:40Z
Generation: 1
Resource Version: 18226
UID: 1441c95d-9557-4388-b356-776dde6a1902
Spec:
Controller Name: projectcontour.io/gateway-controller
Status:
Conditions:
Last Transition Time: 1970-01-01T00:00:00Z
Message: Waiting for controller
Reason: Pending
Status: Unknown
Type: Accepted
Events: <none>
Check if CRDs are created
kubectl get crds | grep gateway
kubectl get crds | grep gateway
backendtlspolicies.gateway.networking.k8s.io 2025-11-30T07:34:44Z
gatewayclasses.gateway.networking.k8s.io 2025-11-30T07:34:44Z
gateways.gateway.networking.k8s.io 2025-11-30T07:34:44Z
grpcroutes.gateway.networking.k8s.io 2025-11-30T07:34:44Z
httproutes.gateway.networking.k8s.io 2025-11-30T07:34:44Z
referencegrants.gateway.networking.k8s.io 2025-11-30T07:34:44Z
tcproutes.gateway.networking.k8s.io 2025-11-30T07:34:44Z
tlsroutes.gateway.networking.k8s.io 2025-11-30T07:34:44Z
udproutes.gateway.networking.k8s.io 2025-11-30T07:34:44Z
xbackendtrafficpolicies.gateway.networking.x-k8s.io 2025-11-30T07:34:44Z
xlistenersets.gateway.networking.x-k8s.io 2025-11-30T07:34:44Z
wandersonlima
Metadata
Metadata
Assignees
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.lifecycle/needs-triageIndicates that an issue needs to be triaged by a project contributor.Indicates that an issue needs to be triaged by a project contributor.