DocsEmissary-ingress1.14Install manually
Install manually
In this guide, we'll walk you through installing, configuring, and customizing Emissary-ingress in your Kubernetes cluster.
The manual install process does require more user configuration than the quick start method, but it does allow you to control the aspects of your base Emissary-ingress installation.
Before you begin
Emissary-ingress is designed to run in Kubernetes for production. The most essential requirements are:
- Kubernetes 1.11 or later
- The
kubectl
command-line tool
Install Emissary-ingress
Emissary-ingress is typically deployed to Kubernetes from the command line. If you don't have Kubernetes, you should use our Docker image to deploy Emissary-ingress locally.
In your terminal, run the following command:
Determine the IP address or hostname of your cluster by running the following command:
Your load balancer may take several minutes to provision your IP address. Repeat the provided command until you get an IP address.
Note: If you are a Minikube user, Minikube does not natively support load balancers. Instead, use
minikube service list
. You should see something similar to the following:Use any of the URLs listed next to
ambassador
to access Emissary-ingress.
Create a Mapping
In a typical configuration workflow, Custom Resource Definitions (CRDs) are used to define the intended behavior of Emissary-ingress. In this example, we'll deploy a sample service and create a Mapping
resource. Mappings allow you to associate parts of your domain with different URLs, IP addresses, or prefixes.
First, apply the YAML for the “Quote of the Moment" service.
Copy the configuration below and save it to a file called
quote-backend.yaml
so that you can create a Mapping on your cluster. This Mapping tells Emissary-ingress to route all traffic inbound to the/backend/
path to thequote
Service.Apply the configuration to the cluster by typing the command
kubectl apply -f quote-backend.yaml
.Grab the IP of your Emissary-ingress
Test the configuration by typing
curl -Lk https://$EMISSARY_LB_ENDPOINT/backend/
orcurl -Lk https://<hostname>/backend/
. You should see something similar to the following:
View your Service metadata using Service Catalog
Set up Service Catalog to view all of your service metadata in Ambassador Cloud.
A single source of configuration
In Emissary-ingress, Kubernetes serves as the single source of configuration. This enables a consistent configuration workflow.
To see your mappings via the command line, run
kubectl get mappings
If you created
Mappings
or other resources in another namespace, you can view them by adding-n <namespace>
to thekubectl get
command or add-A
to view resources from every namespace. Without these flags, you will only see resources in the default namespace.
What’s next?
Emissary-ingress has a comprehensive range of features to support the requirements of any edge microservice.