Skip to content
Snippets Groups Projects
  1. Feb 08, 2024
  2. Feb 05, 2024
  3. Jan 25, 2024
  4. Jan 07, 2024
  5. Dec 17, 2023
  6. Nov 18, 2023
  7. Oct 07, 2023
  8. Oct 06, 2023
  9. Jul 01, 2023
  10. Jun 18, 2023
  11. Jun 08, 2023
  12. Jun 03, 2023
  13. May 28, 2023
  14. Apr 01, 2023
  15. Mar 18, 2023
  16. Jan 18, 2023
  17. Nov 09, 2022
  18. Oct 29, 2022
  19. Oct 26, 2022
  20. Oct 19, 2022
  21. Aug 28, 2022
  22. Jul 25, 2022
  23. Jun 25, 2022
  24. May 19, 2022
  25. May 14, 2022
    • Sheogorath's avatar
      Upgrade calico to version 3.23.0 · 0f1af5de
      Sheogorath authored
      This patch Upgrades calico to version 3.23.0, which is a complicated
      endeavour since it switches the helm release namespaces from default to
      tigera-operator.
      
      Besides the regular upgrade tasks, this reqires some explicit adjusting
      of helm annotations and flux labels, in order to convince the cluster,
      that's how it always has been.
      
      The following tasks need to be done:
      
      Before you start
      ---
      
      Disable flux:
      
      ```
      kubectl scale deployment -n flux-system source-controller --replicas 0
      kubectl scale deployment -n flux-system helm-controller --replicas 0
      kubectl scale deployment -n flux-system kustomize-controller --replicas 0
      ```
      
      The upgrade
      ---
      
      Push/merge this patch. (!!!)
      
      Update helm release annotations:
      ```
      kubectl patch installation default --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch apiserver default --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch podsecuritypolicy tigera-operator --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch -n tigera-operator deployment tigera-operator --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch -n tigera-operator serviceaccount tigera-operator --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch clusterrole tigera-operator --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      kubectl patch clusterrolebinding tigera-operator tigera-operator --type=merge -p '{"metadata": {"annotations": {"meta.helm.sh/release-namespace": "tigera-operator"}}}'
      ```
      
      Patch flux labels:
      ```
      kubectl patch installation default --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch apiserver default --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch podsecuritypolicy tigera-operator --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch -n tigera-operator deployment tigera-operator --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch -n tigera-operator serviceaccount tigera-operator --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch clusterrole tigera-operator --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      kubectl patch clusterrolebinding tigera-operator tigera-operator --type=merge -p '{"metadata": {"labels": {"helm.toolkit.fluxcd.io/namespace": "tigera-operator"}}}'
      ```
      
      Remove flux labels from namespace:
      
      ```
      kubectl label namespace tigera-operator helm.toolkit.fluxcd.io/namespace-
      ```
      
      Get values:
      
      ```
      helm get values -n default calico > values.yaml
      ```
      
      Install calico:
      
      ```
      helm repo add projectcalico https://projectcalico.docs.tigera.io/charts
      helm install calico projectcalico/tigera-operator --version v3.23.0 --namespace tigera-operator --values values.yaml
      ```
      
      Migrate flux helmrelease:
      
      ```
      kubectl apply -n tigera-operator -f bootstrap/calico/release.yaml
      kubectl patch helmrelease calico --type=json -p="[{'op': 'remove', 'path': '/metadata/finalizers'}]" -n default
      kubectl delete helmrelease -n default calico
      ```
      
      Delete old helm install:
      
      ```
      kubectl delete secret -n default -l name=calico -l owner=helm
      ```
      
      Starting flux again
      ---
      
      ```
      kubectl scale deployment -n flux-system source-controller --replicas 1
      kubectl scale deployment -n flux-system helm-controller --replicas 1
      kubectl scale deployment -n flux-system kustomize-controller --replicas 1
      ```
      
      References:
      https://projectcalico.docs.tigera.io/archive/v3.23/release-notes/
      0f1af5de
  26. Apr 20, 2022
  27. Apr 16, 2022
  28. Mar 04, 2022
  29. Feb 06, 2022
Loading