Search the Docs

Edge Stack Quick Start

Contents

1. Installation

We'll start by installing Edge Stack into your cluster.

We recommend using Helm but there are other options below to choose from.

# Add the Repo:
helm repo add datawire https://www.getambassador.io
# Create Namespace and Install:
kubectl create namespace ambassador && \
helm install ambassador --namespace ambassador datawire/ambassador && \
kubectl -n ambassador wait --for condition=available --timeout=90s deploy -lproduct=aes

2. Routing Traffic from the Edge

Like any other Kubernetes object, Custom Resource Definitions (CRDs) are used to declaratively define Edge Stack’s desired state. The workflow you are going to build uses a simple demo app and the Mapping CRD, which is the core resource that you will use with Edge Stack. It lets you route requests by host and URL path from the edge of your cluster to Kubernetes services.

  1. First, apply the YAML for the “Quote of the Moment" service.

    kubectl apply -f https://www.getambassador.io/yaml/quickstart/qotm.yaml
  2. 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 Edge Stack to route all traffic inbound to the /backend/ path to the quote Service.

    ---
    apiVersion: getambassador.io/v2
    kind: Mapping
    metadata:
    name: quote-backend
    namespace: ambassador
    spec:
    prefix: /backend/
    service: quote
  3. Apply the configuration to the cluster:

    kubectl apply -f quote-backend.yaml

    With our Mapping created, now we need to access it!

  4. Store the Edge Stack load balancer IP address to a local environment variable. You will use this variable to test accessing your service.

    export AMBASSADOR_LB_ENDPOINT=$(kubectl -n ambassador get svc ambassador \
    -o "go-template={{range .status.loadBalancer.ingress}}{{or .ip .hostname}}{{end}}")
  5. Test the configuration by accessing the service through the Ambassador load balancer:

    curl -Lk https://$AMBASSADOR_LB_ENDPOINT/backend/

    $ curl -Lk https://$AMBASSADOR_LB_ENDPOINT/backend/
    {
    "server": "idle-cranberry-8tbb6iks",
    "quote": "Non-locality is the driver of truth. By summoning, we vibrate.",
    "time": "2021-02-26T15:55:06.884798988Z"
    }

3. Connect your Cluster to Ambassador Cloud

The Service Catalog is a web-based interface that lists all of your cluster's Services. You can view, add, and update metadata associated with each Service, such as the owner, version control repository, and associated Slack channel.

  1. Log in to Ambassador Cloud with your GitHub account.

  2. At the top, hover over All Clusters then click Add a Cluster.

  3. Follow the prompts to name the cluster and click Generate a Cloud Token.

  4. Follow the prompts to install the cloud token into your cluster.

  5. When the token installation completes, refresh the Service Catalog page.

What's Next?

Explore some of the popular tutorials on Edge Stack:

  • Intro to Mappings: declaratively routes traffic from the edge of your cluster to a Kubernetes service
  • Host resource: configure a hostname and TLS options for your ingress.
  • Rate Limiting: create policies to control sustained traffic loads

The Ambassador Edge Stack has a comprehensive range of features to support the requirements of any edge microservice.

To learn more about how Edge Stack works, read the Ambassador Story.

Questions?

We’re here to help. If you have questions, join our Slack or contact us.