Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon

Kubernetes GitOps with Flux

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.

Google Cloud Platform icon

Path Info

Clock icon Intermediate
Clock icon 30m
Clock icon May 19, 2022

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    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 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!

  2. Challenge

    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
  3. Challenge

    Create a Deployment via the GitHub Repository Using Flux

    Create a YAML file in the GitHub repository under clusters/my-cluster. Name this file turtle-deployment.yaml. Within the file, put a YAML manifest for a Deployment called turtle-deployment. Use the Deployment to run 3 replicas with the nginx:stable image.

    You can put the Deployment in the default namespace, but you will need to specify the namespace in the manifest with metadata.namespace.

    Commit the file, and after a few moments the Deployment should appear in your cluster!

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans