Advanced GitOps Workshop
- Advanced GitOps Workshop
1. Overview
The Advanced GitOps tutorial, presented by Akuity, will take you through creating a self-service multi-tenant Kubernetes environment using Argo CD and GitHub Actions. The tutorial will cover the following topics:
-
Automating
Application
generation usingApplicationSet
s. -
Using GitHub for Single Sign-on (SSO).
-
Managing manifests for promotion between environments.
-
Enabling self-service environment creation for teams.
Naturally, the Argo CD configuration is managed by the cluster administrators. However, developers will not need administrators to create their environments. With GitOps, teams can self-onboard, leveraging Helm Charts provided by the administrators to abstract the resources that comprise an environment and pull requests to propose the creation of and changes to them.
1.1. Prerequisites
The tutorial assumes you have experience working with Kubernetes, GitOps, GitHub Actions (or a similar CI engine), and Argo CD. Given such, some underlying concepts won't be explained during this tutorial.
The tutorial requires that you have the following:
-
a dedicated Kubernetes cluster with Cluster Admin access.
-
This tutorial can be completed with a local Kubernetes cluster on your machine and does not require a publicly accessible cluster, only egress traffic (i.e., internet access). Consider using Docker Desktop and kind.
-
Admin access is required to create namespaces and cluster roles.
-
-
a GitHub Account - you will use this to:
-
host public repositories for the control plane, demo application, and deployment configuration.
-
use GitHub Codespaces to run Terraform for repository setup.
-
run GitHub Actions. (The repositories are public, so there is no cost.)
-
create an Argo CD instance on the Akuity Platform.
-
-
the Kubernetes command-line tool, kubectl.
-
a local IDE with access set up to your GitHub.
tipThroughout this tutorial, all changes to repositories can be done from your browser by changing
github.com
togithub.dev
in the URL for the repository. See the GitHub docs for more details. -
a browser with internet access.
This tutorial shows placeholder text between less-than and greater-than symbols (i.e., <...>
), indicating that you must substitute it with the value relevant to your scenario.
<username>
- Your GitHub username.