86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
kubectl -n cattle-fleet-system get pods
|
|
kubectl get crd gitrepos.fleet.cattle.io
|
|
```
|
|
|
|
### 2. Applica il GitRepo
|
|
|
|
Esempio con namespace-C:
|
|
|
|
```bash
|
|
kubectl apply -f clusters/idc/namespace-C/application.yaml
|
|
```
|
|
|
|
### 3. Verifica stato Fleet
|
|
|
|
```bash
|
|
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:
|
|
- <tua-org> -> 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:
|
|
|
|
1. Converti clusters/idc/namespace-A/application.yaml in GitRepo Fleet.
|
|
2. Converti clusters/idc/namespace-B/application.yaml in GitRepo Fleet.
|
|
3. Applica i due manifest e verifica bundle/bundledeployments.
|
|
|
|
## Estendere a un quarto namespace in futuro
|
|
|
|
1. Crea clusters/idc/namespace-D/manifests con i tuoi YAML.
|
|
2. Crea clusters/idc/namespace-D/application.yaml in formato Fleet GitRepo.
|
|
3. Applica il manifest e verifica la generazione dei bundle.
|