2 min • read

Install manually

In this guide, we'll walk you through installing Emissary-ingress in your Kubernetes cluster.

The manual install process does not allow for as much control over configuration as the Helm install method, so if you need more control over your Emissary-ingress installation, it is recommended that you use helm.

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 or Upgrade with YAML

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.

  1. In your terminal, run the following command:

    shell
    kubectl create namespace emissary || true
    kubectl apply -f https://app.getambassador.io/yaml/emissary/2.0.5/emissary-crds.yaml && \
    kubectl apply -f https://app.getambassador.io/yaml/emissary/2.0.5/emissary-ingress.yaml && \
    kubectl -n emissary wait --for condition=available --timeout=90s deploy emissary-ingress
  2. Determine the IP address or hostname of your cluster by running the following command:

    shell
    kubectl get -n emissary service emissary-ingress -o "go-template={{range .status.loadBalancer.ingress}}{{or .ip .hostname}}{{end}}"

    Your load balancer may take several minutes to provision your IP address. Repeat the provided command until you get an IP address.