Giter VIP home page Giter VIP logo

anz-next-demo-23's Introduction

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

anz-next-demo-23's People

Contributors

knee-berts avatar xunholy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

knee-berts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.