Kubernetes API v1.22 migration

This article applies the Deprecated API Migration Guide to the hivemq-operator Helm chart.

The v1.22 release stopped serving the v1beta1 deprecated API versions:

  • admissionregistration.k8s.io/v1beta1admissionregistration.k8s.io/v1

  • extensions/v1beta1 and networking.k8s.io/v1beta1networking.k8s.io/v1

  • apiextensions.k8s.io/v1beta1apiextensions.k8s.io/v1

  • etc.

Overall, the guide recommends migrating manifests and API clients to use the v1 API version instead of v1beta1. Changes to some values names and defaults also must be made.

 Instructions

  1. Get a local copy of the helm chart

    helm pull hivemq/hivemq-operator --untar
  2. Identify files that contain networking.k8s.io/v1beta1

    grep -R networking.k8s.io/v1beta1 ./hivemq-operator
  3. Edit the ./charts/hivemq-swarm/templates/ingress.yaml. Update API version v1beta1 to v1:

    < apiVersion: networking.k8s.io/v1beta1 --- > apiVersion: networking.k8s.io/v1
  4. Update backend to defaultBackend and its keys from the following:

    < backend: < serviceName: {{ $fullName }}-api < servicePort: api

    to the following:

    > defaultBackend: > service: > name: {{ $fullName }}-api > port: > name: api
  5. Add pathType to the path:

    - path: / > pathType: ImplementationSpecific

The rest of the manifest files already include proper handling of depreciated API version.

Next step is to deploy the patched chart from the directory to a Kubernetes cluster.

 Deploy helm chart from a directory

  1. Deploy the helm chart from the directory with patched files:

    helm upgrade my-hivemq \ --install ./hivemq-operator \ --values my-values.yaml
  2. Done.

 Related articles

Filter by label

There are no items with the selected labels at this time.