Migrate to Emissary 2.x
You can upgrade from any version of Ambassador Edge Stack or Emissary to any version of either by installing the new version in a new Kubernetes cluster, then copying over configuration as needed. This is the way to be absolutely certain that each installation cannot affect the other: it is extremely safe, but is also significantly more effort.
For example, to upgrade from some other version of Ambassador Edge Stack or Emissary to Emissary 2.x:
-
Install Emissary 2.x in a completely new cluster.
-
Create
Listeners for Emissary 2.xWhen Emissary $versionTwoX$ starts, it will not have any
Listeners, and it will not create any. You must createListenerresources by hand, or Emissary $versionTwoX$ will not listen on any ports. -
Copy the entire configuration from the Emissary 1.X cluster to the Emissary $versionTwoX$ cluster. This is most simply done with
kubectl get -o yaml | kubectl apply -f -.This will create
getambassador.io/v2resources in the Emissary $versionTwoX$ cluster. Emissary $versionTwoX$ will translate them internally togetambassador.io/v3alpha1resources. -
Each Emissary instance has its own cluster, so you can test the new instance without disrupting traffic to the existing instance.
-
If you need to make changes, you can change the
getambassador.io/v2resource, or convert the resource you’re changing togetambassador.io/v3alpha1by usingkubectl edit. -
Once everything is working with both versions, transfer incoming traffic to the Emissary $versionTwoX$ cluster.