2 min • read

Upgrade Emissary-ingress 2.2.X to Emissary-ingress 2.3.1 (Helm)

Since Emissary-ingress's configuration is entirely stored in Kubernetes resources, upgrading between minor versions is straightforward.

Migration is a two-step process:

  1. Install new CRDs.

    Before installing Emissary-ingress 2.3.1 itself, you need to update the CRDs in your cluster; Helm will not do this for you. This is mandatory during any upgrade of Emissary-ingress.

    shell
    kubectl apply -f https://app.getambassador.io/yaml/emissary/2.3.1/emissary-crds.yaml
    kubectl wait --timeout=90s --for=condition=available deployment emissary-apiext -n emissary-system
  2. Install Emissary-ingress 2.3.1.

    After installing the new CRDs, use Helm to install Emissary-ingress 2.3.1. Start by making sure that your datawire Helm repo is set correctly:

    bash
    helm repo delete datawire
    helm repo add datawire https://app.getambassador.io
    helm repo update

    Then, update your Emissary-ingress installation in the emissary namespace. If necessary for your installation (e.g. if you were running with AMBASSADOR_SINGLE_NAMESPACE set), you can choose a different namespace.

    bash
    helm upgrade -n emissary \
    emissary-ingress datawire/emissary-ingress && \
    kubectl rollout status -n emissary deployment/emissary-ingress -w