Important: Use a browser to view this lab content during the workshop. Do not try to use the raw markdown content directly during the workshop.
- Overview
- Prerequisites
- Share GitHub ID
- Download Temporary License
- Download Kubeconfig
- Prepare Folder
- Connect to Kubernetes
- Lab Exercises
This repository provides step by step instructions and supporting artifacts for a number of Layer7 Cloud Workshop lab exercises. The lab exercises introduce participants to Graphman, the Layer7 Operator, Open Telemetry and external secret management using the Layer7 Operator.
These prerequisites are required for completing the lab exercises in the Layer7 Cloud Workshop. They should be downloaded, installed and/or otherwise accessible during the workshop.
- Shared Kubernetes cluster prepared specifically for this workshop
- Experience operating in a Linux/Mac/Windows terminal
- This repository
- GitHub Account
- git or GitHub Desktop
- kubectl (v1.27+)
- Node.js (v16+)
- graphman-client v1.2.0
- Temurin OpenJDK 17 (for Mac users)
- Layer7 Policy Manager 11.1 (or later depending on actual gateway version deployed at the time of the workshop)
A private GitHub repository is used for sharing a temporary license and environment related information required by this workshop. You must share your GitHub ID with the workshop coordinator to be given access to the private repository.
A temporary license has been provided for this workshop. Download the license from the private repository.
For this workshop, you will be assigned a user number and a corresponding namespace in a shared Kubernetes cluster. Download the kubeconfig file for your user number (e.g. workshopuser(n).kubeconfig
) from the private repository.
Much of the work in these labs will be done at the command line in a terminal. It will be easier if you prepare a folder (e.g. workshop
) inside of which you will copy many of the prerequisites and do much of the work. When done, your folder should look something like this:
Update and execute the following command with the path to your kubeconfig file, and test your connection to the Kubernetes cluster:
Linux/MacOS
kubectl get all --kubeconfig /path/to/workshopuser(n).kubeconfig
Expected response at the beginning of the workshop:
No resources found in workshopuser(n) namespace.
Windows
kubectl get all --kubeconfig c:\path\to\workshopuser(n).kubeconfig
Expected response at the beginning of the workshop:
No resources found in workshopuser(n) namespace.
To avoid providing the --kubeconfig
argument with every kubectl
command, update and execute the following command with the path to your kubeconfig file to set the KUBECONFIG environment variable in your current shell.
Note: This command will only set the environment variable in your current shell. You will need to repeat this command in new shells you open later, or use a more permanent option for setting environment variables in whatever operating system you are working with.
Note: Make sure you provide the absolute path to the kubeconfig file. If you provide a relative path, then
kubectl
will not find it after changing directories from the directory the provided path is relative to.
Linux/MacOS
export KUBECONFIG=/absolute/path/to/workshopuser(n).kubeconfig
Windows
set KUBECONFIG=c:\absolute\path\to\workshopuser(n).kubeconfig
Test your configuration again:
kubectl get all
Expected response at the beginning of the workshop:
No resources found in workshopuser(n) namespace.
- Exercise 1
- This exercise explores configuration as code concepts using Graphman.
- Exercise 2
- This exercise should familiarize you with the basic concepts of the Layer7 Operator.
- Exercise 3
- This exercise introduces initContainers and bundles (restman/graphman).
- Exercise 4
- This exercise introduces the repository custom resource.
- Exercise 5
- This exercise combines the previous examples in more depth.
- Exercise 6
- This exercise enables Open Telemetry and Service Metrics on Gateway.
- Exercise 7
- This exercise introduces custom Gateway Telemetry assertion.
- Exercise 8
- This exercise will will trace a Gateway Service using Trace Open Telemetry tracing.
- Exercise 9
- This exercise introduces External Secrets.