Applying the charts on gke has an error
🐛 Describe the bug
When I am following the installation instructions, running the first command has an error:
kubectl apply -f https://github.com/vllm-project/aibrix/releases/download/v0.2.0/aibrix-dependency-v0.2.0.yaml
namespace/envoy-gateway-system unchanged
customresourcedefinition.apiextensions.k8s.io/backendlbpolicies.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/backends.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/backendtlspolicies.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/backendtrafficpolicies.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/clienttrafficpolicies.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/envoyextensionpolicies.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/envoypatchpolicies.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/securitypolicies.gateway.envoyproxy.io unchanged
customresourcedefinition.apiextensions.k8s.io/tcproutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/tlsroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/udproutes.gateway.networking.k8s.io configured
serviceaccount/eg-gateway-helm-certgen unchanged
serviceaccount/envoy-gateway unchanged
role.rbac.authorization.k8s.io/eg-gateway-helm-certgen unchanged
role.rbac.authorization.k8s.io/eg-gateway-helm-infra-manager unchanged
role.rbac.authorization.k8s.io/eg-gateway-helm-leader-election-role unchanged
clusterrole.rbac.authorization.k8s.io/eg-gateway-helm-envoy-gateway-role configured
rolebinding.rbac.authorization.k8s.io/eg-gateway-helm-certgen unchanged
rolebinding.rbac.authorization.k8s.io/eg-gateway-helm-infra-manager unchanged
rolebinding.rbac.authorization.k8s.io/eg-gateway-helm-leader-election-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/eg-gateway-helm-envoy-gateway-rolebinding unchanged
configmap/envoy-gateway-config unchanged
service/envoy-gateway unchanged
deployment.apps/envoy-gateway configured
job.batch/eg-gateway-helm-certgen created
The CustomResourceDefinition "envoyproxies.gateway.envoyproxy.io" is invalid: metadata.annotations: Too long: must have at most 262144 bytes
Steps to Reproduce
- Run the first command
kubectl apply -f https://github.com/vllm-project/aibrix/releases/download/v0.2.0/aibrix-dependency-v0.2.0.yaml
Expected behavior
No error
Environment
- AIBrix v0.2.0
Just ran into this on MicroK8s as well. The kube API has a hard limit of 256kb for annotations, and client-side apply adds an annotation for the last version, which the CRD overruns because it's so large.
A workaround is to use kubectl apply -f https://github.com/vllm-project/aibrix/releases/download/v0.2.0/aibrix-dependency-v0.2.0.yaml --server-side, but first delete the existing resources with kubectl delete ns envoy-gateway-system.
You'll also need --server-side for the core components, as there's a CRD which hits the limit there.
You can read more about the issue here: https://www.arthurkoziel.com/fixing-argocd-crd-too-long-error/
Before
After
In the documentation, I suggest to use create instead of apply. create will workaround the issue