Installer sur IBM Cloud
GitGuardian a été testé sur IBM Cloud Kubernetes Service (IKS) sur une infrastructure VPC, avec IBM Cloud Databases for PostgreSQL, IBM Cloud Databases for Redis et IBM Cloud Object Storage pour ClickHouse. Pour Red Hat OpenShift sur IBM Cloud, suivez également la page OpenShift.
Plusieurs points spécifiques à IBM Cloud s'appliquent en plus de l'installation Helm habituelle.
Version de Kubernetes
Créez le cluster sur une version de Kubernetes prise en charge. IBM Cloud propose sa version la plus récente par défaut, qui peut être plus récente que ce que GitGuardian prend en charge.
Accès au cluster
Les permissions à l'échelle du cluster, nécessaires pour créer le namespace GitGuardian, sont fournies avec la configuration admin du cluster :
ibmcloud ks cluster config --cluster <cluster-name> --admin
Trafic sortant
IBM Cloud bloque par défaut tout le trafic sortant des worker nodes des clusters VPC (outbound traffic protection). Les images de conteneurs et les services externes que GitGuardian contacte sont inaccessibles tant que vous n'avez pas choisi l'une des options suivantes :
-
Désactiver la protection :
ibmcloud ks vpc outbound-traffic-protection disable --cluster <cluster-name> -
La conserver et ajouter des règles sortantes au groupe de sécurité
kube-<cluster-id>pour les destinations requises. IBM Cloud supprime ces règles lorsque vous exécutezibmcloud ks security-group reset. -
La conserver et répliquer les images GitGuardian dans IBM Cloud Container Registry, qui est accessible depuis le cluster via le réseau privé. Consultez l'installation en environnement air-gapped pour la configuration du registre privé.
Les bases de données managées et le stockage d'objets IBM Cloud sont contactés via le réseau privé dans tous les cas.
Stockage
La classe de stockage par défaut ibmc-vpc-block-10iops-tier est basée sur SSD et
fournit des volumes ReadWriteOnce, ce qui convient à tous les volumes créés par
GitGuardian, y compris les volumes ClickHouse.
N'utilisez pas IBM Cloud File Storage pour ClickHouse.
Ingress et TLS
Un Service Kubernetes de type LoadBalancer crée un load balancer VPC IBM Cloud.
Installez un contrôleur ingress tel qu'ingress-nginx, puis enregistrez le nom
d'hôte du load balancer auprès d'IBM Cloud pour obtenir un nom d'hôte public et un
certificat TLS :
ibmcloud ks nlb-dns create vpc-gen2 --cluster <cluster-name> --lb-host <load-balancer-hostname>
IBM Cloud crée un nom d'hôte <cluster-name>-<hash>-0001.<region>.containers.appdomain.cloud
et stocke son certificat dans un Secret du namespace default. Copiez ce Secret
dans le namespace GitGuardian et référencez-le en tant que
ingress.tls.existingSecret, ou utilisez votre propre domaine et
certificat. Consultez Ingress.
Services managés
- PostgreSQL : IBM Cloud Databases for PostgreSQL
- Redis : IBM Cloud Databases for Redis
- Stockage d'objets ClickHouse : IBM Cloud Object Storage et sa destination de sauvegarde