2.6 KiB
2.6 KiB
gitops-repo - esempio completo (3 namespace, Fleet su RKE2)
Repo di esempio pronto da usare come base: GitOps limitato a namespace-A, namespace-B, namespace-C, con Fleet come motore di sync.
Struttura
.
├── bootstrap/ <- file legacy Argo CD (non usati con Fleet)
│ ├── 00-namespace.yaml
│ ├── 01-appproject.yaml
│ └── 02-root.yaml
│
└── clusters/
└── idc/ <- nome cluster/repository scope attuale
├── namespace-A/
│ ├── application.yaml <- da migrare a Fleet GitRepo
│ └── manifests/
│ └── deployment.yaml
├── namespace-B/
│ ├── application.yaml <- da migrare a Fleet GitRepo
│ └── manifests/
│ └── deployment.yaml
└── namespace-C/
├── application.yaml <- gia convertito a Fleet GitRepo
└── manifests/
└── deployment.yaml
Cosa applichi a mano con Fleet
- Applichi a mano i manifest Fleet di tipo GitRepo (uno per namespace o uno aggregato).
- I file in clusters/idc/namespace-*/manifests vengono sincronizzati automaticamente da Fleet.
- I file in bootstrap sono legacy Argo CD: con Fleet installato, non sono necessari.
Bootstrap Fleet - passo per passo
1. Verifica Fleet
kubectl -n cattle-fleet-system get pods
kubectl get crd gitrepos.fleet.cattle.io
2. Applica il GitRepo
Esempio con namespace-C:
kubectl apply -f clusters/idc/namespace-C/application.yaml
3. Verifica stato Fleet
kubectl -n fleet-local get gitrepo
kubectl -n cattle-fleet-system get bundles
kubectl -n cattle-fleet-system get bundledeployments
Repo privato GitHub
Se il repo e privato, configura le credenziali per Fleet (Secret nel namespace Fleet usato, tipicamente fleet-local o fleet-default).
Prima di usare questo repo
Sostituisci ovunque compare:
- -> org/utente reale del tuo repo Git
- i deployment di esempio -> i tuoi manifest reali
Migrazione consigliata (A e B)
Attualmente solo namespace-C e gia in formato Fleet. Per allineare tutto:
- Converti clusters/idc/namespace-A/application.yaml in GitRepo Fleet.
- Converti clusters/idc/namespace-B/application.yaml in GitRepo Fleet.
- Applica i due manifest e verifica bundle/bundledeployments.
Estendere a un quarto namespace in futuro
- Crea clusters/idc/namespace-D/manifests con i tuoi YAML.
- Crea clusters/idc/namespace-D/application.yaml in formato Fleet GitRepo.
- Applica il manifest e verifica la generazione dei bundle.