Estudos de caso com o Flux
estratégias de deploy
tipos de fontes usadas pelo Flux
CRDs do Flux
benefícios de se usar flux na estrutura de gitops
estudo de caso: vículo básico de um repositório
estudo de caso: instalação de uma aplicação com helmrelease
estudo de caso: bootstrap de um repositório existente
estudo de caso: CI/CD completo com os objetos de imagem
Instalação do binário do Flux:
curl -s https://fluxcd.io/install.sh | sudo bash
Instalação básica do Flux no cluster:
Instalação completa do Flux:
flux install --components-extra=' image-reflector-controller,image-automation-controller'
Criação do gitrepository:
flux create source git podinfo \
--url=https://github.com/stefanprodan/podinfo \
--branch=master \
--interval=30s \
--export > gitrepo-podinfo.yaml
Criação do kustomization:
flux create kustomization podinfo \
--target-namespace=default \
--source=podinfo \
--path=" ./kustomize" \
--prune=true \
--interval=30s \
--export > kustomization-podinfo.yaml
Criação do helmrepository:
flux create source helm podinfo \
--url https://stefanprodan.github.io/podinfo --namespace default \
--interval 1h \
--export > helmrepository.yaml
flux create helmrelease podinfo --chart podinfo \
--source HelmRepository/podinfo \
--chart-version 6.6.2 \
--namespace default \
--export > helmrelease-podinfo.yaml
Bootstrap de um repositório Github (exemplo básico):
flux bootstrap github \
--owner=mmmarceleza \
--repository=workshop \
--branch=main \
--path=flux/examples/01 \
--interval=1m \
--personal
Bootstrap de um repositório Github (exemplo completo):
flux bootstrap github \
--components-extra=image-reflector-controller,image-automation-controller \
--owner=mmmarceleza \
--repository=workshop \
--path=flux/examples/05 \
--interval=1m \
--read-write-key=true \
--personal
Instalação do binário do Weave Gitops:
curl --silent --location " https://github.com/weaveworks/weave-gitops/releases/download/v0.38.0/gitops-$( uname) -$( uname -m) .tar.gz" | tar xz -C /tmp
sudo mv /tmp/gitops /usr/local/bin
gitops version
Criação dos manifestos para instalação do Weave Gitops:
PASSWORD=" <your password>"
gitops create dashboard ww-gitops \
--password=$PASSWORD \
--export > weave-gitops.yaml