Aller au contenu principal

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.

Conformité FIPS

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.

Configuration rapide d'un PoC sur un cluster existant

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.

Existing Installation Schema with an external database

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.

Embedded Installation Schema

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é)OuiNon
Déploiement par interface graphique (GUI)NonOui
Déploiement AirgapOuiOui
Support OpenShiftOuiOui
PostgreSQL et Redis externes (recommandé)OuiOui
PostgreSQL et Redis embeddedNonOui
Gestion des workloads (nombre de réplicas)OuiOui
Gestion des ressources (requêtes/limites CPU/mémoire)OuiOui
Proxy HTTPOuiOui
CA personnaliséeOuiOui
Load balancer + IngressOuiOui
Support ARMOuiNon
Architecture Ingress awareOuiNon
Horizontal Pod AutoscalingOuiNon
Systèmes externes d'agrégation de logsOuiNon
Generic Ephemeral Inline VolumesOuiNon
Node Affinity SchedulingOuiNon
Service mesh IstioOuiNon
Définir des labels personnalisés sur les podsOuiNon
Secrets Kubernetes existantsOuiNon
Registre Docker privéOuiNon
Déploiement avec ArgoCDOuiNon
Déploiement avec FluxCDOuiNon
FIPSOuiNon
IPv6OuiNon
GCP MarketplaceOuiNon