This seems to be a bit of a hold-over from something else.
$ helm install --dry-run gitlab . --set global.hosts.domain=192.168.0.10.nip.io -f examples/kind/values-base.yaml -f examples/kind/values-ssl.yaml | grep -B2 'kind: Ingress$'W0615 14:48:21.110304 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.170251 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.231438 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.295282 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.356633 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.418326 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 14:48:21.479317 60352 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget# Source: gitlab/charts/gitlab/charts/kas/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/gitlab/charts/webservice/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/minio/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/registry/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress
When I use helm install --dry-run against a 1.21.x cluster, I have no issues.
I believe what you've run into here is the way we've configured the behaviors of the template to check the Capabilities.APIVersions, which need to be supplied via --api-versions when using helm template. When using helm install (including --dry-run), Helm will fetch the values from the server, and thus populate accurate versions.
When not passing --api-versions, Helm assumes the lowest common denominator of the version of K8s API it was built against.
When I run this with Helm 3.8.2 which is built against a newer K8s API, I get:
$ helm install --dry-run gitlab . --set global.hosts.domain=192.168.0.10.nip.io -f examples/kind/values-base.yaml -f examples/kind/values-ssl.yaml | grep -B2 'kind: Ingress$'W0615 15:03:37.409991 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.472603 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.535224 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.596312 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.658923 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.721988 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetW0615 15:03:37.782712 62467 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget# Source: gitlab/charts/gitlab/charts/kas/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/gitlab/charts/webservice/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/minio/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress--# Source: gitlab/charts/registry/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingress
we still do have report from GKE ( #3018 (comment 989451751) ) that cluster is using all those endpoints. So something is making templates render extensions/v1beta1/ingress
I just installed from the master branch to GKE 1.21.11-gke.1100 and had no such warnings. I have no evidence this is "from" our calls to helm upgrade --install.
so for all intents and purposes it sounds like it should have rendered against 1.21 thus elimintating any of the v1beta1 endpoints but for some reason it did not.
@WarheadsSE unfortunately GKE-provided info is rather unspecific as to the source of where those are coming from so I'm just trying to sort out what could've caused those stats to show such a heavy use of old endpoints.
so for all intents and purposes it sounds like it should have rendered against 1.21 thus elimintating any of the v1beta1 endpoints but for some reason it did not.
Show us a method of collecting evidence that Helm is behaving differently than expected.
@dmakovey I've seen the same in our pre cluster which has been upgrade to 1.22, my suspicion so far is for a controller that probes endpoints on startup (maybe nginx).