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, the Edge Policy Console UI, and more. For more about the differences between Ambassador Edge Stack and Emissary-ingress, see the Editions page.
edgectl can automate the upgrade from installations that match the following criteria:
- Emissary-ingress has been installed (and is still managed by) the Ambassador Operator.
edgectl by following the instructions
Then, use the following command to upgrade the Emissary-ingress installation to Ambassador Edge Stack:
- 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
- Access the Edge Policy Console
- 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://www.getambassador.io/yaml/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, update your current Emissary-ingress service to redirect traffic to Ambassador Edge Stack.
Edit the current Emissary-ingress service with
kubectl edit service -n <namespace> ambassador 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> ambassadorkubectl 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://www.getambassador.io/yaml/aes-crds.yaml && \kubectl apply -n <namespace> -f https://www.getambassador.io/yaml/resources-migration.yaml && \kubectl rollout restart deployment/aes
You can now access the Edge Policy Console with the following options:
edgectl login -n <namespace> <AES_host>or
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.