GitOps means managing your environment using the well-known tool Git as a source of truth. In this lab, you will be able to experiment with GitOps by deploying an application to Kubernetes using a GitOps tool called Flux.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a GitHub Personal Access Token
To bootstrap the repository, you can use a GitHub Personal Access Token (PAT) to authenticate with GitHub. The PAT will need
repo
permissions.Hint: You can create a PAT on github.com. Select the account dropdown at the top right, then Settings > Developer settings > ((Personal access tokens > Generate new token. Check the repo** scope to provide the appropriate permissions.
When you are done, copy the PAT. You will need it for the next objective!
- Bootstrap the Git Repository
Bootstrap the GitHub repository with Flux. You will need to supply your GitHub username and the personal access token (PAT). You can use a repository name such as
acg-flux-lab
, but this can really be any name you want. Flux is already installed, so you do not need to install it.This process will create the repository in GitHub, so you may need to use a different name if you already have a repository by that name (such as if you go through this lab more than once).
Hint: The command looks like this:
flux bootstrap github --owner=<GitHub Username> --repository=acg-flux-lab --branch=main --path=./clusters/my-cluster --personal
- Create a Deployment via the GitHub Repository Using Flux
Create a YAML file in the GitHub repository under
clusters/my-cluster
. Name this fileturtle-deployment.yaml
. Within the file, put a YAML manifest for a Deployment calledturtle-deployment
. Use the Deployment to run3
replicas with thenginx:stable
image.You can put the Deployment in the
default
namespace, but you will need to specify the namespace in the manifest withmetadata.namespace
.Commit the file, and after a few moments the Deployment should appear in your cluster!