higress icon indicating copy to clipboard operation
higress copied to clipboard

When enabling Gateway API CRDs in Higress, the version is lower than the Kubernetes Gateway API version

Open sunmery opened this issue 1 month ago • 2 comments

If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via ASRC (Alibaba Security Response Center) where the issue will be triaged appropriately.

  • [ ] I have searched the issues of this repository and believe that this is not a duplicate.

â… . Issue Description

I am experiencing compatibility issues between Helm Higress 2.0.5 and Kubernetes Gateway API v1.2.1 versions v1 or v1beta and the outdated v1alpha2 Gateway API in Higress. The pods are in a "not ready" state and the logs indicate syncing issues with the v1alpha2 Gateway API.

â…¡. Describe what happened

The following log was captured in the Pod logs:

2025-01-13T10:00:23.669201Z info kube controller "gateway.networking.k8s.io/v1alpha2/GRPCRoute" is syncing... controller=gateway-controller 2025-01-13T10:00:23.669260Z info waiting for sync... name=crdclient attempt=2600 time=4m21.79437589s

This shows that the controller is continuously trying to sync, and it is not successfully processing the resource, leading to the Pod being in an unready state.

â…¢. Describe what you expected to happen

I expect that Higress should be fully compatible with the latest Kubernetes Gateway API versions (v1 and v1beta) and that the v1alpha2 API version, which is deprecated, should no longer be used. This should allow the controller to sync successfully and the Pods to reach a ready state.

â…£. How to reproduce it (as minimally and precisely as possible)

wget https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/experimental-install.yaml kubectl apply -f experimental-install.yaml

helm install higress higress.io/higress
-n higress-system
--create-namespace
--render-subchart-notes
--set higress-core.controller.replicas=1
--set higress-core.gateway.resources.limits.memory=2048m
--set higress-core.gateway.resources.limits.memory=2048Mi
--set higress-core.gateway.replicas=1
--set higress-core.gateway.hostNetwork=true
--set higress-core.gateway.service.type=NodePort
--set higress-core.gateway.httpPort=80
--set higress-core.gateway.httpsPort=443
--set higress-console.replicaCount=1
--set higress-console.service.type=NodePort
--set global.enableGatewayAPI=true

kubectl get po -n higress-system

NAME READY STATUS RESTARTS AGE higress-console-ff67df78b-vg8kh 1/1 Running 0 22m higress-controller-555fdbd6d9-kj642 0/2 Running 0 22m higress-gateway-5874546c5d-hm287 0/1 Running 0 22m

kubectl logs -n higress-system higress-controller-

2025-01-13T10:00:23.669201Z info kube controller "gateway.networking.k8s.io/v1alpha2/GRPCRoute" is syncing... controller=gateway-controller 2025-01-13T10:00:23.669260Z info waiting for sync... name=crdclient attempt=2600 time=4m21.79437589s

â…¤. Anything else we need to know?

â…¥. Environment:

  • Higress version: helm higress.io/higress 2.0.5
  • Kubernetes version: v1.32.0
  • OS: Ubuntu 22.04
  • Others:

sunmery avatar Jan 13 '25 10:01 sunmery