Skip to content

xunholy/anz-next-demo-23

Repository files navigation

Google Next Demo 2023

This is an example repository that demonstrates how to use GitOps to create GKE (Google Kubernetes Engine) clusters on demand, register them to a Fleet, and bootstrap them with FluxCD.

Once the newly created Fleet clusters are bootstrapped with FluxCD, they will automatically begin to synchronize all GKE cluster platform configurations and application tenant configurations.

📖 Table of contents

📁 Directories

This Git repository contains the following directories.

📁 apps             # Example of a application operators configuration
📁 hack             # Directory for scripts
📁 kubernetes       # Example of a platform operators configuration
├─📁 clusters       # FluxCD cluster installation
├─📁 namespaces     # Platform tooling and configuration
└─📁 tenants        # Teams onboarded as tenants

🖥️ Technology Stack

The below showcases the collection of open-source solutions currently implemented in the cluster. Each of these components has been documented, and their deployment is managed using FluxCD, which adheres to GitOps principles.

Name Description
Kubernetes An open-source system for automating deployment, scaling, and management of containerized applications
FluxCD GitOps tool for deploying applications to Kubernetes
NA Config Connector Manage GCP GCP resources declaratively using Kubernetes-style configuration
NA Gateway API Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support.

🛠️ Requirements

  • Google Cloud Account with permission to create GKE clusters
  • kubectl CLI installed and configured
  • gcloud CLI installed and configured
  • flux CLI tools
  • sops CLI installed and configured
  • YAML editing skills

🚀 Getting Started

Before you begin, check that all GCP project references are updated in the repository to your corrosponding GCP project ID.

Additionally, worth noting that once you have completed the following steps the GITHUB_TOKEN will be stored in a SOPS encrypted kubernetes secret.

  1. Fork and clone this repository
git clone https://github.com/<user/org>/anz-next-demo-23.git
  1. Navigate to the cloned directory and run the setup script
export PROJECT_ID=<YOUR PROJECT ID>
export GITHUB_TOKEN=<YOUR GITHUB TOKEN>
export GITHUB_USER=<YOUR GITHUB USER>

cd anz-next-demo-23
./hack/bootstrap.sh

Note: Change the exported variables to the appropriate values; Additional values can be adapted in the bootstrap.sh script.

  1. Follow the on-screen instructions to set up your GKE cluster

📄 License

This repository is Apache 2.0 licensed

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages