Choisir votre méthode d'installation
Avant d'installer l'application, vous devrez choisir parmi 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 vous expliquera les différences entre ces méthodes et vous aidera à décider laquelle correspond le mieux à vos besoins.
Qu'est-ce que Helm ?
Helm est un gestionnaire de paquets pour Kubernetes, souvent qualifié d'« équivalent Kubernetes d'apt/yum/homebrew ». Il vous permet de définir, installer et mettre à jour même les applications Kubernetes les plus complexes. Helm utilise des « charts », qui sont des collections de fichiers YAML décrivant un ensemble lié de ressources Kubernetes. Cet outil simplifie la gestion des applications Kubernetes en fournissant une seule commande 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 des 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 l'approvisionnement simplifié grâce aux accords GCP existants.
Le déploiement via GCP Marketplace utilise Helm. Le déploiement initial est effectué via la console GCP, mais les mises à jour et la gestion continue sont réalisé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 simplifie le déploiement, la gestion et le support des applications Kubernetes.
Qu'est-ce qu'une installation existing cluster
Vous pouvez installer l'application sur un cluster Kubernetes existant qui contient déjà des nœuds en utilisant 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 déployer 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 alignées sur le guide Scaling. Pour la production, préférez les services managés de votre fournisseur cloud.

Si vous prévoyez d'installer GitGuardian sur un cluster OpenShift, veuillez consulter les directives détaillées pour l'installation sur cluster OpenShift.
Qu'est-ce qu'une installation 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 à 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 :
- disposez-vous des ressources et de 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 existing cluster avec 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 aux pipelines d'automatisation et aux 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 GCP Marketplace. Cela vous permet d'utiliser vos engagements de dépenses GCP et simplifie l'approvisionnement tout en tirant parti des services managé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. Cependant, veuillez noter que les installations embedded ne sont pas recommandées pour un usage en production et conviennent mieux à des fins d'essai ou de preuve de concept (PoC).
Matrice de fonctionnalités : Existing cluster (Helm) vs Embedded cluster (KOTS)
Cette matrice de fonctionnalités fournit une comparaison complète entre les installations Helm (pour les clusters existants) et les installations KOTS (pour les clusters embedded), 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 par 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 des workloads (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 Ingress aware | Oui | Non |
| Horizontal Pod Autoscaling | Oui | Non |
| Systèmes externes d'agrégation de logs | Oui | Non |
| Generic Ephemeral Inline Volumes | Oui | Non |
| Node Affinity Scheduling | Oui | Non |
| Service mesh Istio | Oui | Non |
| Définir des labels personnalisés sur les pods | Oui | Non |
| Secrets Kubernetes existants | Oui | Non |
| Registre Docker privé | Oui | Non |
| Déploiement avec ArgoCD | Oui | Non |
| Déploiement avec FluxCD | Oui | Non |
| FIPS | Oui | Non |
| IPv6 | Oui | Non |
| GCP Marketplace | Oui | Non |