If you currently have the open source version of Emissary-ingress, you can upgrade to Ambassador Edge Stack with a few simple commands. When you upgrade to Ambassador Edge Stack, you'll be able to access additional capabilities such as automatic HTTPS/TLS termination, Swagger/OpenAPI support, API catalog, Single Sign-On, and more. For more about the differences between Ambassador Edge Stack and Emissary-ingress, see the Editions page.
- You must have properly installed Emissary-ingress previously following these instructions.
- You must have TLS configured and working properly on your Emissary-ingress instance
To upgrade your instance of Emissary-ingress:
- Apply the migration manifest
- Test the new Deployment
- Redirect traffic
- Delete the old Deployment
- Update and restart
- [What's next?](
Make sure that you follow the steps in the given order - not doing that might crash your Emissary-ingress installation or make it inconsistent.
First, install Ambassador Edge Stack alongside your existing Emissary-ingress installation so you can test your workload against the new deployment.
Note: Make sure you apply the manifests in the same namespace as your current Emissary-ingress installation.
Use the following command to install Ambassador Edge Stack, replacing
kubectl apply -n <namespace> -f https://app.getambassador.io/yaml/edge-stack/latest/oss-migration.yaml
At this point, you have Emissary-ingress and Ambassador Edge Stack running side by side in your cluster. Ambassador Edge Stack is configured using the same configuration (Mappings, Modules, etc) as your current Emissary-ingress.
Get the IP address to connect to Ambassador Edge Stack by running the following command:
kubectl get service test-aes -n <namespace>
Test that Ambassador Edge Stack is working properly.
Once you’re satisfied with the new deployment, begin to route traffic to Ambassador Edge Stack.
Edit the current Emissary-ingress service with
kubectl edit service -n <namespace> emissary-ingress and change the selector to
You can now safely delete the older Emissary-ingress deployment and Ambassador Edge Stack service.
kubectl delete deployment -n <namespace> emissary-ingresskubectl delete service -n <namespace> test-aes
Apply the new CRDs, resources and restart the Ambassador Edge Stack pod for changes to take effect:
kubectl apply -n <namespace> -f https://app.getambassador.io/yaml/edge-stack/latest/aes-crds.yaml && \kubectl apply -n <namespace> -f https://app.getambassador.io/yaml/edge-stack/latest/resources-migration.yaml && \kubectl rollout -n <namespace> restart deployment/aes
Now that you have Ambassador Edge Stack up and running, check out the Getting Started guide for recommendations on what to do next and take full advantage of its features.