Déploiement
Architecture
Schéma d'architecture logiciel de la plateforme QALITA
Schéma des container du control plane de la plateforme QALITA déployés
Matrice de Flux
Schéma de flux réseau QALITA Platform
Ingress:Port | Service:Port | Pod:Port |
---|---|---|
-- | qalita-postgresql:5432 | qalita-postgresql-0:5432 |
-- | qalita-redis-master:6379 | qalita-redis-master-0:6379 |
-- | seaweedfs-s3:8333 | seaweedfs:8333 |
api.domain.com | qalita-backend-service:3080 | qalita-backend:3080 |
doc.domain.com | qalita-doc-service:80 | qalita-doc:80 |
domain.com | qalita-frontend-service:3000 | qalita-frontend:3000 |
Les agents doivent pouvoir communiquer avec le backend du control plane, bien penser à faire une ouverture de flux vers l'Ingress Point (point de terminaison ou encore url) du backend !
Prérequis
Plateforme
Puissance de calcul
Le control plane de la plateforme comprend le frontend avec son backend ainsi que la documentation. Elle nécessite peu de puissance de calcul.
Azure Node | Specs | |
---|---|---|
![]() | Node specs : linux/amd64 - 4 vCPU - 16 Gio RAM - 100 Go SSD Fast Storage | |
Utilisation | Mémoire | CPU |
Au repos | 500 Mo | 0.5 |
En utilisation | 2 Go | 1 |
Optimal | 4 Go | 2 |
Stockage
Le stockage comprend :
- La base relationnelle
Postgresql
contient les données de gestion de la plateforme, les métriques, ainsi que les logs d'activités utilisateurs. - Le cache
redis
permet d'accélérer l'interface et les requêtes au backend. - Le stockage
Seaweedfs
comprend les logs des tâches, les assets (archives des packs).
Utilisation | Postgresql | Seaweedfs |
---|---|---|
Minimal | 1 Go | 1 Go |
Dépend du volume des métriques et fréquence des analyses | 10+ Go | 10+ Go |
Agents
Les caractéristiques de l'agent dépendent grandement de la typologie
ainsi que la volumétrie
des sources pour lesquels il effectue les analyses.
Utilisation | Mémoire | CPU |
---|---|---|
Minimal | 50 Mo | 0.2 |
Dépend du volume des sources et fréquence des analyses | . | . |
I Déploiement Cloud SaaS
Qalita Platform propose une solution entièrement managé et hébergé sur cloud européen HDS et SecNumCloud.
Schéma d'architecture de la plateforme Qalita en mode SaaS
II Déploiement sur Kubernetes
Schéma d'architecture de la plateforme Qalita déployé sur Kubernetes
Prérequis
Pour déployer sur un cluster Kubernetes managé, il vous faudra :
- Un cluster Kubernetes
- Une clé de licence valide 📀 Acheter une licence ou contactez-nous pour bénéficier d'une clé d'essai
- Kubernetes
1.24+
- Helm
3.0+
- Cert-Manager
1.0+
Dependencies
Installation du helm chart Qalita
Pour avoir la documentation la plus à jour possible pour le helm chart : Allez directement sur le site Artifacthub
1. Créer un namespace
Créer un namespace qalita
dans votre cluster Kubernetes.
2. Créer un secret
Créer un secret qalita-license
dans votre namespace qalita
contenant votre clé de licence.
3. Adding the chart Repository
helm repo add qalita https://helm.qalita.io/
helm repo update
4. Resolve dependencies
helm dependency update
5. Install
Il va vous falloir modifier les values pour correspondre le mieux à votre organisation. Voir un exemple de fichier de values
helm install qalita qalita/qalita -f values.yaml
6. Use it
The chart will deploy the following resources:
- QALITA App
- QALITA API
- QALITA Doc
- QALITA Postgresql Database
- QALITA Redis Cache Database
- QALITA Seaweedfs S3 Storage
With cluster.domain
=example.com Creates the following endpoints:
Values
Il va vous falloir modifier les values pour correspondre le mieux à votre organisation. Voir un exemple de fichier de values
Pour une utilisation en production, il est fortement recommandé de déployer la plateforme sur un cluster Kubernetes managé.
QALITA offre une solution entièrement managée et hébergée sur cloud européen HDS et SecNumCloud.
III Déploiement Docker Compose
Voir le tutoriel : Déploiement Docker Compose
Configurations possibles Agents <->
Sources
1. Même namespace :
- Déploiement avec agent dans le même namespace
agent.enabled=true
- Déploiement de data sources dans le même namespace
2. Autre namespace :
- Déploiement d'un agent dans un autre namespace
- Déploiement de data sources dans le même namespace
3. Autre namespace + source délocalisé :
- Déploiement d'un agent dans un autre namespace
- Pour se connecter à une source dans tout autre environnement (vm, localhost etc...)
4. Totalement Délocalisé :
- Déploiement d'un agent dans tout autre environnement (vm, localhost etc...)
- Pour se connecter à une source localisé dans tout autre environnement (vm, localhost etc...)
Pour savoir comment déployer un agent voir agent