Panoramica dell'infrastruttura
Come è organizzata
L'infrastruttura CNGEI è progettata per essere sicura, affidabile e facile da gestire. Tutto il codice di configurazione è保存在 un repository Git (approccio GitOps), e ogni modifica viene tracciata e applicata automaticamente.
Componenti principali
Internet
│
▼
┌─────────────────────────────────┐
│ lb.cngei.it │
│ Load Balancer (Traefik) │
└──────────┬──────────────────────┘
│
▼
┌─────────────────────────────────┐
│ bastion.cngei.it │
│ Host di accesso (SSH) │
└──────────┬──────────────────────┘
│
▼
┌─────────────────────────────────┐
│ Cluster Kubernetes │
│ (rete interna isolata) │
│ │
│ ┌──────────┐ │
│ │ akela │ ← Control Plane │
│ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ │
│ │ hathi │ │ baloo │ │
│ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ │
│ │ baghera │ │ tha │ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────┘
Flusso di una richiesta
- Un utente accede a un servizio (es.
cloud.cngei.it) - La richiesta arriva al load balancer (
lb.cngei.it) - Il load balancer instrada la richiesta al nodo corretto del cluster
- Il servizio (es. Nextcloud) risponde alla richiesta
Accesso amministrativo
Per accedere ai server del cluster:
- Ci si connette al bastion host (
bastion.cngei.it) tramite SSH - Solo le chiavi SSH autorizzate possono accedere
- Dal bastion, si può raggiungere qualsiasi nodo del cluster
Gestione dei servizi
I servizi sono definiti come file YAML nel repository Git. Quando viene fatto un commit o un merge sul branch principale:
- ArgoCD rileva il cambiamento
- Applica le modifiche al cluster
- Il servizio viene aggiornato automaticamente
Sicurezza
- I nodi del cluster sono isolati dalla rete esterna
- L'accesso avviene solo tramite bastion host
- Solo chiavi SSH sono accettate (nessuna password)
- Tutti i servizi sono esposti tramite HTTPS con certificati automatici