GoogleCloudPlatform / cloud-builders

Builder images and examples commonly used for Google Cloud Build
https://cloud.google.com/cloud-build/
Apache License 2.0
1.38k stars 590 forks source link

[BUG] gke-deploy does not respect the declared ApiVersion #962

Open TeChn4K opened 1 year ago

TeChn4K commented 1 year ago

Affected builder image

gcr.io/cloud-builders/gke-deploy

Expected Behavior

While waiting for deployed objects to be ready, gke-deploy get objects with their declared ApiVersion.

Actual Behavior

While waiting for deployed objects to be ready, gke-deploy get some objects with a wrong ApiVersion and fail.

Error: failed to apply deployment: failed to get configuration of deployed object with kind "IngressRoute" and name "app": failed to get config of deployed object: command to get kubernetes config: Error from server (NotFound): ingressroutes.traefik.containo.us "app" not found

Additional Info

My cluster has Traefik v2.10 installed.

Here are the CRDs used : https://doc.traefik.io/traefik/reference/dynamic-configuration/kubernetes-crd/

You can see that Traefik CRDs declares ingressroutes.traefik.containo.us and ingressroutes.traefik.io

I do not use ingressroutes.traefik.containo.us at all. All my IngressRoute use apiVersion: traefik.io/v1alpha1. But gke-deploy keeps trying to get object with this not used apiVersion.

After manually removing the troublesome resource with kubectl delete crd ingressroutes.traefik.containo.us, my deployment is now successful :

Deployed object with kind "IngressRoute" and name "app" is ready after 5.9s