Aller au contenu principal

Installer sur un existing cluster avec KOTS

Introduction

Avis d'obsolescence

La méthode d'installation KOTS sur un existing cluster est obsolète depuis la version de juin 2026 (version 2026.6.0) et sera complètement supprimée dans la version 2027.1. Les méthodes d'installation obsolètes ne bénéficient plus des dernières améliorations de la plateforme, telles que les analytics basées sur ClickHouse et la prise en charge du stockage objet S3. Nous vous recommandons vivement de migrer vers l'installation Helm sur un existing cluster dès que possible. Consultez l'avis client pour plus de détails, ou contactez support@gitguardian.com pour obtenir des conseils sur votre migration.

⚠️ Utilisez l'installation Helm sur un existing cluster sauf indication contraire.

GitGuardian peut être installé sur votre cluster Kubernetes existant en utilisant KOTS, un plugin kubectl et la KOTS Admin Console qui aident à gérer les logiciels Kubernetes Off-The-Shelf.

GitGuardian prend en charge le déploiement sur bare metal, cloud privé ou cloud public.

Prérequis

Infrastructure requise

  1. Cluster Kubernetes : Un cluster Kubernetes en cours d'exécution. Consultez la configuration système requise pour plus de détails. Pour les clusters OpenShift, reportez-vous aux directives d'installation OpenShift.

  2. Base de données PostgreSQL : Une instance PostgreSQL externe avec les extensions requises installées. Consultez la configuration de la base de données pour les détails de configuration.

  3. Instance Redis : Une instance Redis dédiée. Consultez la configuration système requise pour les détails de configuration.

Exigences supplémentaires

  1. Fichier de licence : Téléchargez votre licence GitGuardian depuis le portail. Consultez la gestion des licences pour les instructions.

  2. Accès réseau : Assurez-vous que votre cluster répond aux exigences réseau.

  3. Nom de domaine : Un nom de domaine complet (FQDN) pour accéder à l'application. Consultez la configuration système requise.

Exigences

Passez en revue l'ensemble des exigences système et réseau avant de continuer.

Installation

Plugin KOTS

Tout d'abord, vous devez installer le plugin KOTS pour kubectl. Vous pouvez le faire avec cette commande :

curl https://kots.io/install | bash

RBAC de l'application Kubernetes

La console d'administration KOTS aura un contrôle total sur toutes les ressources de tous les namespaces du cluster. Plus d'informations dans la documentation Replicated.

Si vous n'êtes pas cluster-admin dans votre cluster Kubernetes ou que vous ne souhaitez pas accorder à la console d'administration KOTS de telles permissions étendues, vous devrez appliquer la configuration ci-dessous dans votre namespace cible <gitguardian_namespace> :

Rôles RBAC pour l'installation KOTS
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kotsadm
namespace: <gitguardian_namespace>
labels:
kots.io/backup: velero
kots.io/kotsadm: 'true'

---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: kotsadm-role
namespace: <gitguardian_namespace>
labels:
kots.io/backup: velero
kots.io/kotsadm: 'true'
rules:
- apiGroups: ['']
resources:
[
'configmaps',
'persistentvolumeclaims',
'pods',
'secrets',
'services',
'limitranges',
'serviceaccounts',
]
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['apps']
resources:
[
'daemonsets',
'deployments',
'deployments/scale',
'replicasets',
'statefulsets',
]
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['batch']
resources: ['jobs', 'cronjobs']
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['networking.k8s.io', 'extensions']
resources: ['ingresses', 'networkpolicies']
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['policy']
resources: ['poddisruptionbudgets']
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['']
resources: ['namespaces', 'endpoints']
verbs: ['get']
- apiGroups: ['authorization.k8s.io']
resources: ['selfsubjectaccessreviews', 'selfsubjectrulesreviews']
verbs: ['create']
- apiGroups: ['rbac.authorization.k8s.io']
resources: ['roles', 'rolebindings']
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['']
resources: ['pods/log', 'pods/exec']
verbs: ['get', 'list', 'watch', 'create']
- apiGroups: ['batch']
resources: ['jobs/status']
verbs: ['get', 'list', 'watch']
- apiGroups: ['monitoring.coreos.com']
resources: ['servicemonitors']
verbs: ['get', 'list', 'watch', 'create', 'update', 'patch', 'delete']
- apiGroups: ['']
resources: ['events']
verbs: ['list']

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kotsadm-rolebinding
namespace: <gitguardian_namespace>
labels:
kots.io/backup: velero
kots.io/kotsadm: 'true'
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: kotsadm-role
subjects:
- kind: ServiceAccount
name: kotsadm

Puis passez à l'étape KOTS Admin Console.

KOTS Admin Console

Une fois le plugin installé, vous pouvez installer la KOTS Admin Console.

Si vous êtes cluster-admin :

kubectl kots install gitguardian

Sinon :

kubectl kots install --ensure-rbac=false gitguardian

Vous serez invité à choisir un namespace pour déployer l'application et un mot de passe pour accéder à la KOTS Admin Console.

Namespace and password prompt

Une fois l'installation de la KOTS Admin Console terminée, un port forward sera configuré, et vous pourrez accéder à la KOTS Admin Console sur http://localhost:8800.

astuce

KOTS Admin Console

Par défaut, on y accède sur http://localhost:8800 en utilisant cette commande kubectl kots admin-console --namespace=<namespace>, qui est un wrapper autour de kubectl port-forward. Vous pouvez configurer un ingress si vous souhaitez un endpoint public.

Launch

End of existing cluster installation

Application

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

Admin console password

  1. Chargez la licence téléchargée sur le portail (voir les instructions pour télécharger le fichier de licence).

License upload

  1. Configurez l'application. Vous devez remplir tous les champs requis :

    • Application Hostname : Entrez le nom de domaine complet (FQDN) pour l'application GitGuardian.
    • Admin User Fields : Ces champs sont utilisés pour créer le premier utilisateur GitGuardian. Vous devrez changer le mot de passe lors de la première connexion.
    • Databases : Vous devez sélectionner un PostgreSQL et un Redis externes, voir Configurer votre base de données. Lorsque vous utilisez Redis Sentinel pour la haute disponibilité, assurez-vous que le mot de passe du master Redis correspond à celui du sentinel Redis et que vous utilisez le bon port Sentinel (par défaut : 26379).

Admin console application configuration

Les options de configuration supplémentaires incluent :

  • Scaling : Ajustez le nombre de réplicas pour chaque composant de l'application. Pour plus de détails, consultez la page Scaling.
  • Prometheus : Activez un exportateur pour Prometheus.
  • Ingress TLS Certificate : Ceci concerne l'application GitGuardian. Vous pouvez soit utiliser des certificats auto-signés générés automatiquement, soit charger les vôtres. Pour les certificats auto-signés ou de CA privée, désactivez la vérification SSL pour le webhook GitHub. Apprenez-en plus sur la page Configurer les certificats TLS.
  • Load Balancer : Le type de Service peut être changé de ClusterIP à LoadBalancer si nécessaire.
  • Custom Certificate Authority : Fournissez une CA personnalisée si nécessaire.
  • HTTP(s) Proxy : Reportez-vous à la section proxy si nécessaire.
  1. Vérifiez si les contrôles préalables (preflight checks) passent.
Exigences

Les contrôles préalables sont essentiels pour une installation réussie. Les règles suivantes s'appliquent :

  • Échecs des contrôles préalables : Si les contrôles préalables échouent, l'installation ne doit pas continuer tant que l'environnement ciblé ne répond pas à toutes les exigences. Veuillez contacter notre équipe de support si nécessaire.
  • ⚠️ Avertissements des contrôles préalables : Si les contrôles préalables renvoient des avertissements, l'installation peut continuer, mais il est recommandé de traiter ces avertissements pour vous conformer à nos recommandations.

Admin console preflights

  1. Launch

La première installation de l'application 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 dashboard en utilisant l'utilisateur administrateur que vous avez défini.

Enregistrer la clé de chiffrement des données

attention

GitGuardian chiffre toutes les informations sensibles dans la base de données à 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 devez l'enregistrer et la conserver dans un emplacement sécurisé. Utilisez la commande suivante pour afficher la clé :

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

Si nécessaire, spécifiez le namespace Kubernetes avec --namespace (le namespace par défaut est utilisé s'il n'est pas spécifié).

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.

Prochaines étapes

Après une installation réussie :

  • Accédez à votre instance GitGuardian via le hostname configuré
  • Connectez-vous avec les identifiants administrateur que vous avez définis (changez le mot de passe temporaire à la première connexion)
  • Configurez les paramètres d'e-mail pour les notifications
  • Mettez en place l'intégration SSO et SCIM (optionnel)
  • Intégrez vos premiers dépôts pour démarrer la détection des secrets