Kubernetes/Progressive Delivery Flux and Flagger

From Ever changing code
Jump to navigation Jump to search

Flux

Install fluxctl

curl -s https://fluxcd.io/install.sh | sudo bash

# enable completions in ~/.bash_profile
. <(flux completion bash)

# TODO: Via release binaries
# https://github.com/fluxcd/flux/releases

# Pre check
flux check --pre
► checking prerequisites
✔ kubectl 1.18.6 >=1.18.0-0
✔ Kubernetes 1.18.9 >=1.16.0-0
✔ prerequisites checks passed

Cluster bootstrap

FLUX_GIT_USERNAME=pio2pio
flux bootstrap git \
  --author-email=<YOUR-EMAIL> \
  --url=ssh://git@github.com/$FLUX_GIT_USERNAME/gitops-istio \
  --branch=main \
  --path=clusters/my-cluster

At bootstrap, Flux generates an SSH key and prints the public key. In order to sync your cluster state with git you need to copy the public key and create a deploy key with write access on your GitHub repository. On GitHub go to Settings > Deploy keys click on Add deploy key, check Allow write access, paste the Flux public key and click Add key.

References