Aller au contenu principal

Installer sur un cluster Embedded (kURL)

Introduction

⚠️ Utilisez la nouvelle Installation Embedded sauf indication contraire.

GitGuardian peut être installé avec une distribution Kubernetes embedded packagée avec lui ; il prend en charge le déploiement sur bare metal, cloud privé ou public.

Cette installation utilise KOTS, un plugin kubectl et la console d'administration KOTS pour aider à gérer les logiciels Kubernetes Off-The-Shelf.

Prérequis

Avant de commencer l'installation, examinez les prérequis système et réseau, et téléchargez votre licence.

Installation

Cluster embedded

Pour lancer l'installation, exécutez la commande suivante sur votre hôte en tant que root. Cette commande s'exécutera pendant 10 à 20 minutes ; la lancer dans un screen ou une session tmux peut éviter une interruption due à une perte de connexion.

sudo -i
curl -sSL https://kurl.sh/gitguardian | bash

Si plusieurs interfaces réseau vous sont proposées, choisissez celle connectée à votre réseau privé.

Cela installera un cluster Kubernetes géré sur un seul nœud avec tout ce dont il a besoin pour exécuter l'application GitGuardian.

Une fois l'installation terminée, des instructions s'afficheront pour accéder à la console d'administration KOTS. Utilisez l'adresse IP fournie sur le port 8800.

Installation's end screenshot

Sauvegardez ces informations, en particulier les mots de passe ; ils seront utiles plus tard.

Application

Avec le cluster Kubernetes embedded désormais en place, passons à l'installation de l'application GitGuardian.

  1. Accédez à la console d'administration KOTS sur https://<ip_address>:8800 et configurez TLS. Vous pouvez téléverser vos certificats TLS ou en utiliser des auto-signés.

Admin console TLS setup

  1. Saisissez le mot de passe fourni à la fin de l'installation du cluster.

Admin console password

  1. Téléversez la licence téléchargée depuis le portail. Référez-vous à la page Téléchargez votre licence.

License upload

  1. Configurez l'application en remplissant tous les champs obligatoires :

    • Application Hostname : saisissez le Fully Qualified Domain Name (FQDN) de l'application GitGuardian.
    • Champs administrateur : ces champs servent à créer le premier utilisateur GitGuardian. Vous devrez changer le mot de passe lors de la première connexion.

Admin Console Application Configuration

Les options de configuration supplémentaires incluent :

  • Scaling : ajustez le nombre de réplicas pour chaque composant. Voir la page Scaling.
  • Prometheus : activez un exporter pour Prometheus.
  • Certificat TLS : pour l'application GitGuardian. Vous pouvez utiliser des certificats auto-signés générés automatiquement ou téléverser les vôtres. Pour les certificats auto-signés ou de CA privée, désactivez la vérification SSL pour le webhook GitHub. En savoir plus sur la page Configurer les certificats TLS.
  • Custom Certificate Authority : fournissez une CA personnalisée si nécessaire.
  • Proxy HTTP(S) : référez-vous à la section proxy si nécessaire.
  • Bases/datastores : choisissez entre PostgreSQL/Redis embedded ou externes. Pour plus d'informations, voir Configurer votre base de données.
  • Considérations sur le load balancer : pour utiliser le cluster embedded derrière un load balancer, lisez Configurer votre instance derrière un load balancer.
  1. Vérifiez que les preflight checks passent.
Prérequis

Les preflight checks sont essentiels pour une installation réussie. Les règles suivantes s'appliquent :

  • Échec des preflight checks : si les preflight checks échouent, l'installation ne doit pas continuer tant que l'environnement cible ne satisfait pas tous les prérequis. Contactez notre équipe support si nécessaire.
  • ⚠️ Avertissements des preflight checks : si les preflight checks renvoient des avertissements, l'installation peut continuer, mais il est recommandé de les traiter pour respecter nos recommandations.

Admin console preflights

  1. Lancez

La première installation de l'application GitGuardian nécessite quelques minutes pour créer tous les objets de base de données. Une fois le processus terminé, vous pourrez vous connecter au tableau de bord avec l'utilisateur administrateur que vous avez défini.

Conserver la clé de chiffrement des données

attention

GitGuardian chiffre toutes les informations sensibles dans la base à l'aide d'une clé de chiffrement (aussi appelée Django Secret Key). En cas de reprise après sinistre, cette clé sera nécessaire pour restaurer vos données.

Vous devriez la sauvegarder et la conserver dans un emplacement sûr. Utilisez la commande suivante pour afficher la clé :

kubectl get secrets gim-secrets -o jsonpath='{.data.DJANGO_SECRET_KEY}' | base64 -d

Si nécessaire, précisez le namespace Kubernetes avec --namespace (le namespace par défaut est utilisé sinon).

Configuration réseau et stockage

Configurer les paramètres de proxy

Si un proxy est requis pour l'accès Internet sortant, créez un patch.yaml :

apiVersion: 'cluster.kurl.sh/v1beta1'
kind: 'Installer'
metadata:
name: 'patch'
spec:
kurl:
proxyAddress: http://<IP>:<PORT>
noProxy: false

Et exécutez l'installer avec -installer-spec-file=patch.yaml en tant que root :

sudo -i
curl -sSL https://kurl.sh/gitguardian | bash -s installer-spec-file=patch.yaml

Gérer l'espace disque

Le cluster Embedded kURL créera un Persistent Volume MinIO monté sur /mnt/data. Vous pouvez utiliser un disque spécifique pour ce volume et, dans ce cas, il doit avoir au moins 200 Go d'espace libre.

L'installer kURL recherchera l'existence du répertoire /var ainsi que tous les répertoires principaux mentionnés dans sa documentation.

Sinon, le stockage racine ne devrait pas être partitionné. Vous pouvez en savoir plus sur les exigences d'espace disque dans la documentation kURL.

Notez que si votre disque n'est pas un device SCSI, vous devrez patcher le script d'installation en suivant ces recommandations :

  1. Créez un fichier YAML et ajoutez les paramètres suivants (exemple pour un device nvme) :
kind: Installer
metadata:
name: patch
spec:
rook:
blockDeviceFilter: nvme1n[0-1]
  1. Exécutez le script d'installation avec ce patch en tant que root :
sudo -i
curl -sSL https://kurl.sh/gitguardian | bash -s installer-spec-file=[path of the above YAML patch file]

Dépannage

Si vous rencontrez des problèmes durant l'installation, vous pouvez générer un support bundle pour permettre à l'équipe GitGuardian de diagnostiquer et résoudre les problèmes plus efficacement. Consultez la documentation du support bundle pour des instructions détaillées.