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.
- kubectl - Command line utility for Kubernetes
- glooctl - Command line utility for Gloo Edge
- jq - Utility for manipulating JSON
- git - Utility for working with a versioned source control system
- curl - Utility for transferring data to/from a server, especially with HTTP/S
- helm - Utility for managing charts and deploying applications on Kubernetes
- openssl - Cryptography toolkit for working with SSL and TLS
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.
-
macOS: You can use the Homebrew package manager.
brew install glooctl
-
Most platforms: You can use the following installation script, which requires Python to execute properly.
curl -sL https://run.solo.io/gloo/install | sh export PATH=$HOME/.gloo/bin:$PATH
-
Windows: You can use the following installation script, which requires OpenSSL to execute properly.
(New-Object System.Net.WebClient).DownloadString("https://run.solo.io/gloo/windows/install") | iex $env:Path += ";$env:userprofile/.gloo/bin/"
-
Direct download: You can download
glooctl
directly via the GitHub releases page. After downloading, rename the executable toglooctl
and add it to your system’sPATH
.
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.13.8, you should use a 1.13.8 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.13.8
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.13.8"}
Server: version undefined, could not find any version of gloo running
Licensing
You must provide the license key during the installation process.
- 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.
- 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 yourglooctl 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.
- 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
- 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 setcreate_license_secret
tofalse
. - glooctl: In your
glooctl install
command, include the--set gloo.license_secret_name=<license>
and--set create_license_secret=false
flags.
- Helm: In your Helm values file, provide the secret name as the value for the
- Create a secret with your license key in the
- Provide license key directly: When you install Gloo Edge, you can provide the license key string directly as the value for the
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.