Management Cluster
In ogni sito geografico opera un cluster kubernetes con il ruolo di Management Cluster.
| Nome | UI ArgoCD | |
|---|---|---|
| Ufficio | office-management |
https://ui.argocd.management.k8s.office.simplebooking.local |
| Playnet | playnet-management |
https://ui.argocd.management.k8s.playnet.simplebooking.local |
| Siziano | siziano-management |
https://ui.argocd.management.k8s.siziano.simplebooking.local |
Day 1¶
Il setup del primo Management Cluster di ogni sito avviene tramite una procedura amministrativa eseguita una tantum dalla k8s-jump del sito.
Day 2¶
Il mantenimento avviene tramite GitOps. ArgoCD si occupa della sincronizzazione delle risorse che definiscono il cluster stesso.
Funzionalità¶
Il Management Cluster automatizza la distribuzione, il monitoraggio e il mantenimento dei Workload Clusters (aggiornamenti, aggiunta e rimozione di nodi, etc...) attraverso un approccio dichiarativo basato su manifests kubernetes.
Sul Management Cluster operano i controllers di: - Kubernetes Cluster API - Kubernetes Cluster API Provider vSphere - Cluster API IPAM Provider In Cluster
I Management Clusters annoverano se stessi nella loro gestione.
GitOps¶
I manifests di definizione dei clusters operanti in ogni datacenter sono mantenuti in questo repository e vengono applicati all'interno del Management Cluster per mezzo di ArgoCD, che li recupera dal ramo main.
La codebase presente su main può essere modificata esclusivamente tramite pull requests, le quali devono essere approvate e incorporate da un membro di qntweb/sb-sysadmins.
Servizi esposti e regole di firewalling¶
ArgoCD¶
L'interfaccia web di ArgoCD è esposta tramite un LoadBalancer, il cui IP è reso raggiungibile sulla porta :443 agli utenti di AD appartenenti al gruppo sb-{datacenter}-management-argocd
L'autenticazione presso ArgoCD avviene tramite le credenziali del dominio simplebooking.local.
Sono abilitati al login tutti gli appartenenti a:
- sb-helpdesk
- sb-it
Inoltre i permessi sono articolati in base ai gruppi di appartenenza:
sb-helpdesk: readsb-it: readsb-it-admins: read, create, update, delete, syncsb-sysadmins: read, sync