kevinobee / flux-example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flux Example

Example GitOps deployments using Flux.

Deployed Kubernetes cluster contains:

  1. GitOps

    • Flux CD continuous and progressive delivery solution for Kubernetes
  2. Infrastructure

  3. Observability

  4. Tools

    • LitmusChaos open source Chaos Engineering platform

    • Trivy-Operator Automated vulnerability scanning for Kubernetes workloads. image scanning and resource misconfiguration discovery

  5. Applications

    • Podinfo sample microservice application

Getting Started

Shell scripts are provided to create a Kubernetes cluster using Kind and populate it with infrastructure, tools and a sample application from a GitHub repo.

Run the installation script enter the following command:

./install.sh

The installation script will create and test a multi-node cluster running in Docker containers.

Flux GitOps Operations

To force Flux to run reconcile the manifests held in the Git repository to the cluster run:

flux reconcile kustomization flux-system --with-source

To view Flux resources use:

flux get all

Cluster Dependency Tree

View the Flux Kustomization dependency tree with:

flux tree kustomization flux-system --compact

Flux Manifest Locations

Flux manifests are used to deploy and maintain cluster resources.

Manifests within the ./k8s/cluster/ folder are used to bootstrap the cluster.

The ./k8s/infrastructure/source/finalizers folder contains a finalizers Kustomization that is used to ensure all infrastructure resources are deployed before synchronizing application or tool manifests.

About


Languages

Language:Shell 53.5%Language:JavaScript 41.8%Language:Dockerfile 4.7%