Choisir votre méthode d'installation
Avant d'installer l'application, vous devrez choisir entre ces types d'installation :
- Existing Cluster using Helm (recommandé) - pour les déploiements sur des clusters Kubernetes existants à l'aide de charts Helm (inclut l'option GCP Marketplace),
- Embedded Cluster using KOTS - pour les installations tout-en-un qui créent leur propre cluster Kubernetes avec une interface de gestion web.
Ce guide expliquera les différences entre ces méthodes et vous aidera à décider laquelle est la meilleure pour vos besoins.
Qu'est-ce que Helm ?
Helm est un gestionnaire de paquets pour Kubernetes, souvent désigné comme « l'équivalent Kubernetes d'apt/yum/homebrew ». Il vous permet de définir, installer et mettre à niveau même les applications Kubernetes les plus complexes. Helm utilise des « charts », qui sont des collections de fichiers YAML décrivant un ensemble de ressources Kubernetes associées. Cet outil simplifie la gestion des applications Kubernetes en fournissant une commande unique pour déployer une application, gérer son cycle de vie et suivre l'historique des versions. Les configurations Helm peuvent être versionnées dans un dépôt Git et s'intègrent bien avec les outils CD comme ArgoCD ou FluxCD.
La conformité FIPS (Federal Information Processing Standards) est disponible exclusivement pour les installations basées sur Helm. Si vous avez besoin de modules cryptographiques conformes à FIPS pour des raisons de conformité réglementaire, vous devez choisir la méthode d'installation Helm. Pour plus de détails, consultez la page Recommandations de sécurité.
GCP Marketplace
GitGuardian est également disponible sur GCP Marketplace, la plateforme de Google Cloud pour découvrir, déployer et gérer des solutions logicielles tierces. Cela permet le déploiement sur des clusters Google Kubernetes Engine (GKE) avec une facturation consolidée via votre compte GCP.
Les principaux avantages du déploiement via GCP Marketplace sont la facturation consolidée via votre facture GCP, la possibilité d'appliquer des remises pour engagement d'utilisation, et un approvisionnement simplifié grâce aux accords GCP existants.
Le déploiement via GCP Marketplace utilise Helm. Le déploiement initial se fait via la console GCP, mais les mises à niveau et la gestion continue sont effectuées directement avec Helm, ce qui signifie que vous bénéficiez de tous les avantages des installations basées sur Helm.
Pour plus de détails, consultez le guide de déploiement GCP Marketplace.
Qu'est-ce que KOTS ?
KOTS (Kubernetes Off-The-Shelf) est un framework conçu pour aider les éditeurs de logiciels à gérer le cycle de vie des applications Kubernetes d'une manière conviviale pour les clients d'entreprise. Il fournit un ensemble d'outils et une interface utilisateur qui simplifient le déploiement, la gestion et le support des applications Kubernetes.
Qu'est-ce qu'une installation sur un existing cluster
Vous pouvez installer l'application sur un cluster Kubernetes existant qui contient déjà des nœuds à l'aide de Helm. Assurez-vous que ce cluster répond aux exigences système et réseau.
La section de préparation des bases de données vous aidera à les configurer correctement pour votre environnement.
Pour une preuve de concept ou des tests, vous pouvez rapidement mettre en place PostgreSQL et Redis dans votre cluster en utilisant les presets helm-pg-redis-poc, qui fournissent des configurations Small/Medium/Large prêtes à l'emploi et alignées sur le guide Scaling. Pour la production, préférez les services gérés de votre fournisseur cloud.

Si vous prévoyez d'installer GitGuardian sur un cluster OpenShift, veuillez vous référer aux directives détaillées pour l'installation sur un cluster OpenShift.
Qu'est-ce qu'une installation sur un embedded cluster
L'installation Embedded est une installation « tout-en-un » où le cluster Kubernetes est créé sur votre machine, et tous les composants nécessaires à l'application sont installés. Cette méthode d'installation utilise KOTS (Kubernetes Off-The-Shelf) pour fournir une interface web conviviale pour le déploiement et la gestion.

Vous pouvez également utiliser des bases de données externes avec votre cluster Kubernetes embedded (et nous le recommandons). La section de préparation des bases de données vous aidera à les configurer correctement pour votre environnement.
Comment choisir entre ces options
Avant d'installer l'application, vous devrez prendre en compte les éléments suivants :
- possédez-vous les ressources et l'expertise nécessaires pour gérer votre cluster Kubernetes ?
- avez-vous des politiques de sécurité en place dans votre cluster Kubernetes ?
- avez-vous l'expertise et les ressources pour gérer vos propres bases de données ?
- aurez-vous besoin d'un réglage fin de l'application ?
Si vous disposez déjà d'un cluster Kubernetes qui exécute différentes applications, avec des politiques de gestion et de sécurité précises et un mainteneur dédié dans vos équipes, vous devriez utiliser l'installation sur un existing cluster à l'aide de Helm. L'application peut être installée dans un namespace dédié pour une meilleure isolation et organisation. Veuillez noter que vous aurez également besoin d'accéder à une base de données Postgres et à un cache Redis.
L'installation Helm offre de nombreuses options de configuration et s'intègre bien avec les pipelines d'automatisation et les pratiques d'Infrastructure as Code.
Si vous déployez sur Google Cloud Platform et souhaitez consolider la facturation via votre compte GCP, envisagez d'utiliser le déploiement via GCP Marketplace. Cela vous permet d'utiliser votre engagement de dépenses GCP et simplifie l'approvisionnement tout en tirant parti des services gérés de GCP (Cloud SQL, Memorystore, GKE).
Si vous ne disposez pas de ressources dédiées à la maintenance d'un cluster Kubernetes et de bases de données, préférez l'installation embedded, qui utilise KOTS pour fournir une interface web conviviale pour la configuration et la gestion. Veuillez toutefois noter que les installations embedded ne sont pas recommandées pour un usage en production et sont mieux adaptées à des fins d'essai ou de preuve de concept (PoC).
Matrice des fonctionnalités : Existing cluster (Helm) vs Embedded cluster (KOTS)
Cette matrice des fonctionnalités fournit une comparaison complète entre les installations Helm (pour les existing clusters) et les installations KOTS (pour les embedded clusters), mettant en évidence leurs capacités et leurs principales différences.
| Nom de la fonctionnalité | Existing Cluster (Helm) | Embedded Cluster (KOTS) |
|---|---|---|
| Déploiement Infrastructure as Code (IaC) (recommandé) | Oui | Non |
| Déploiement interface graphique (GUI) | Non | Oui |
| Déploiement airgap | Oui | Oui |
| Support OpenShift | Oui | Oui |
| PostgreSQL et Redis externes (recommandé) | Oui | Oui |
| PostgreSQL et Redis embedded | Non | Oui |
| Gestion de la charge de travail (nombre de réplicas) | Oui | Oui |
| Gestion des ressources (requêtes/limites CPU/mémoire) | Oui | Oui |
| Proxy HTTP | Oui | Oui |
| CA personnalisée | Oui | Oui |
| Load balancer + Ingress | Oui | Oui |
| Support ARM | Oui | Non |
| Architecture compatible Ingress | Oui | Non |
| Horizontal Pod Autoscaling | Oui | Non |
| Systèmes externes d'agrégation de logs | Oui | Non |
| Generic Ephemeral Inline Volumes | Oui | Non |
| Worker de nouvelle tentative de scan premium | Oui | Non |
| Node Affinity Scheduling | Oui | Non |
| Istio service mesh | Oui | Non |
| Définir des labels personnalisés sur les pods | Oui | Non |
| Secrets Kubernetes existants | Oui | Non |
| Registre Docker privé | Oui | Non |
| Déployer avec ArgoCD | Oui | Non |
| Déployer avec FluxCD | Oui | Non |
| FIPS | Oui | Non |
| IPv6 | Oui | Non |
| GitGuardian Bridge | Oui | Non |
| GCP Marketplace | Oui | Non |