Load balancer
Clusters existants (Helm ou KOTS)
Installation via Helm
Le cluster Kubernetes doit inclure un add-on de contrôleur LoadBalancer (pour AWS, ce serait un ALB), qui n'est pas fourni par nos Helm charts. Cette configuration est une alternative à l'utilisation d'Ingress, qui n'est pas activée par défaut dans les values On-Prem. Les clients doivent surcharger ces values pour accéder au dashboard via un LoadBalancer.
Changez le serviceType du frontend de ClusterIP à LoadBalancer dans votre fichier local-values.yaml :
front:
service:
type: LoadBalancer
annotations:
# example when using an ELB on AWS
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:iam::12345678
Installation via KOTS
Pour les clusters existants, le type de Service peut être changé de ClusterIP à LoadBalancer. Cela permet la création d'un load balancer cloud dédié (par ex. un AWS Application Load Balancer) spécifiquement pour le dashboard GitGuardian.
Note : cette modification n'impacte pas la console d'administration KOTS, qui reste accessible uniquement via le port forwarding, sauf configuration manuelle contraire.
Annotations
Les annotations permettent la personnalisation du service. Par exemple, sur AWS, vous pouvez ajouter les annotations suivantes dans la section annotations de la console d'administration KOTS :
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:iam::12345678
Vous pouvez les ajouter dans la section annotations de la console d'administration KOTS.

Clusters embedded
Configurer votre instance pour fonctionner derrière un load balancer
Si vous prévoyez d'exposer votre cluster embedded derrière un load balancer (permettant à votre cluster de fonctionner en réseau privé), vous devrez peut-être configurer des paramètres supplémentaires.
Le dashboard GitGuardian sur une installation Cluster embedded est, par défaut, exposé via une configuration HTTPS qui requiert l'extension TLS SNI. Malheureusement, certains load balancers (comme ceux d'AWS) ne sont pas capables de gérer les backends imposant SNI.
Dans KOTS, cochez le paramètre Use NodePort Service et choisissez d'exposer un port (par exemple 8080).
Puis :
- Sur le firewall/security group de l'instance, autorisez la connexion du load balancer vers le port
8080de l'instance. - Sur le load balancer :
- Configurez le ou les certificats pour terminer la connexion TLS. L'endpoint devrait correspondre au hostname utilisé dans la configuration.
- Ciblez l'instance sur le port
8080. - Pour les health checks de l'instance, vous pouvez cibler l'endpoint
/health.