Preparation

Installing Gloo Edge in your environment and walking through the step-by-step guides requires the installation of utilities on your local system and the selection of a deployment model. This document outlines the common utilities that you should have on your local system, and a brief discussion of deployment options for Gloo Edge.


Utilities List

Below is a list of all the required components and common utilities for use with Gloo Edge as you work through the concepts and guides.

You will also want some type of text editor that understands YAML. For real, there is going to be a lot of YAML and getting the spacing wrong is a huge pain. There are many great tools out there including, but not limited to Visual Studio Code, Sublime Text, and the venerable Vim.

glooctl

Install the Gloo Edge command line tool (CLI)

You can install the Gloo Edge command line, glooctl, to help install, configure, and debug Gloo Edge. Depending on your operating system, you have several installation options.

Update glooctl CLI version

If you already installed glooctl, make sure to update glooctl to the same minor version as the version of Gloo Edge that is installed in your cluster. For example, if you’re using Gloo Edge 1.12.35, you should use a 1.12.35 release of glooctl.

You can use the glooctl upgrade command to set the --release that you want to use. You can use this command to upgrade or roll back the glooctl version. For example, you might change versions during an upgrade process, or when you have multiple versions of Gloo Edge across clusters that you manage from the same workstation.

glooctl upgrade --release v1.12.35

Verify the installation or update

You can verify the glooctl CLI is installed and running the appropriate version.

glooctl version

In the output, the Client is your local version. The Server is the version that runs in your cluster, and is undefined if you did not install Gloo Edge yet.

Client: {"version":"1.12.35"}
Server: version undefined, could not find any version of gloo running

Licensing

You must provide the license key during the installation process.

  1. Contact an account representative to get a Gloo Edge license key.

    You can also request a trial license key instead. Note that each trial license key is typically valid for 30 days. When the license key expires, you can request a new license key by contacting your account representative or filling out this form. For more information, see Updating Enterprise Licenses.

  2. Decide how you want to provide your license keys during installation.
    • Provide license key directly: When you install Gloo Edge, you can provide the license key string directly as the value for the license_key field in your Helm values file, or provide the --license-key flag in your glooctl install command. A Kubernetes secret is created for you to store the license key.
    • Provide license key in a secret: You can specify your license key by creating a secret before you install Gloo Edge.
      1. Create a secret with your license key in the gloo-system namespace of your cluster.
        cat << EOF | kubectl apply -n gloo-system -f -
        apiVersion: v1
        kind: Secret
        type: Opaque
        metadata:
          name: license-key
          namespace: gloo-system
        data:
          license-key: ""
        EOF
        
      2. When you install Gloo Edge, specify the secret name and disable default secret generation in your Helm values file or the glooctl install command.
        • Helm: In your Helm values file, provide the secret name as the value for the gloo.license_secret_name field, and set create_license_secret to false.
        • glooctl: In your glooctl install command, include the --set gloo.license_secret_name=<license> and --set create_license_secret=false flags.

Deployment Requirements

There are a number of options when it comes to installing Gloo Edge. The requirements for each deployment model are described below.

Kubernetes Deployments

Not sure how you will deploy Gloo Edge? This section is for you. Gloo Edge deploys as a set of containers, and is usually deployed on a Kubernetes cluster. In order to install Gloo Edge, you will need access to a Kubernetes deployment. That could be a local cluster using minikube or minishift. It could be a hosted cluster on one of the public clouds such as Google Kubernetes Engine, Elastic Kubernetes Service, or Azure Kubernetes Service. You could even host your own Kubernetes cluster in your datacenter!

As long as you can run kubectl and have cluster-admin permissions, you’re all set.

Docker Compose Deployments

A less common option is to use Docker Compose to deploy the Gloo Edge components locally and store the configuration and secrets data in the Gloo Edge containers. This will require that docker and docker-compose are installed on your local machine. Further instructions for setup can be found here.

Consul and Vault Deployments

Similar to the Docker Compose option, this option leverages HashiCorp Consul for configuration data and HashiCorp Vault for secrets data instead of storing the values directly in the Gloo Edge containers. This will require that docker and docker-compose are installed locally. Further instructions for setup can be found here.

Nomad Deployments

Nomad is a workload scheduler that can be used in place of Docker Compose or Kubernetes. It integrates with Consul and Vault, using them to store configuration and secrets data. Using Nomad will require Levant to be installed locally, and access to a system running Docker, Consul, Vault, and Nomad. Further instructions for setup can be found here.


Where to Next?

The most common starting point is to install Gloo Edge. Once Gloo Edge is installed, Traffic Management is likely your go-to destination. Otherwise, here are some common paths to learning.