Vai al contenuto

Componenti

L'installazione dei componenti specifici del Sistema Data Analytics, così come di tutti i componenti da essa richiesti, viene customizzata di volta in volta per recepire le nuove versioni e le peculiari modalità di deploy che tengono conto degli aggiornamenti di sicurezza, dei bug fix e dell'introduzione di nuove funzionalità.

Accanto ai componenti peculiari del Sistema Data Analytics stesso, per il suo funzionamento sono richiesti anche quelli di seguito riportati.

KeyCloak

È il componente utilizzato per gestire autenticazione e autorizzazione e che, oltre alle funzionalità di Single Sign-On (SSO), ha già integrata la gestione di un secondo fattore di autenticazione (2FA).

MinIO

È il componente usato come storage distribuito compatibile con S3 all'interno del cluster ed è quello che può influire maggiormente sul dimensionamento dei dischi dei nodi. Anche se si dovesse usare Longhorn come classe di storage di default, per i dischi di MinIO è consigliato l'uso della classe local-storage (in K3S è la classe local-path) usando così direttamente i dischi locali (ovvero non gestiti da altri storage manager come p.es. Longhorn).

Il singolo "Drive" associato ad ogni "Server" di Minio che gira su ciascun nodo worker core è allocato sul disco locale del nodo stesso e di ciò bisognerà tener conto per dimensionare tale disco. La dimensione di tale Drive contribuisce inoltre alla dimensione complessiva di storage vista da MinIO che può essere calcolata usando l'Erasure Code (EC) calculator di MinIO (https://min.io/product/erasure-code-calculator).

Ad esempio, se ogni drive ha una capacità di 8 TB e si hanno a disposizione 4 Servers, ciascuno con un solo drive, accettando un EC pari a 2 allora la capacità netta usabile è di 16 TB (con una fault tolerance di 2 nodi).

erasure-code-calculator

Esempio d'uso per l'Erasure Code Calculator

Redis

È il componente usato come database in-memory per il caching.

Kafka

È il sistema di messaggistica distribuito.

Argo Workflow

È il componente usato come orchestratore di workflow.

ArgoCD

È il componente usato come strumento per il deployment di applicazioni secondo modalità GitOps.