Ingress
Installation via Helm
Dans votre fichier values.yaml, ajoutez l'extrait suivant, adapté à vos besoins :
ingress:
enabled: true
# -- Ingress controller in use in the cluster. Mandatory if using istio or `experimental.ingressRoutes=true`
# Supported: ingress-nginx / traefik / contour / aws_alb / openshift (Openshift Route) / istio
controller: 'ingress-nginx'
pathType: 'Prefix'
path: '/'
ingressClassName: 'my-class-name'
annotations:
kubernetes.io/ingress.class: <ingress_class> # for ingress controllers that do not support ingressClassName
labels:
example.of.a.label: 'my-label'
tls:
enabled: true
existingSecret: 'secret-containing-the-ingress-tls-certificates'
istio:
# -- Istio revision, if any
revision: ''
gateway:
# -- Enable Istio gateway handling
enabled: false
# -- Istio Gateway name
name: ''
# -- Istio Gateway namespace
namespace: ''
# -- Istio Gateway selector
selector: 'ingressgateway'
Consultez Certificat TLS pour vous aider à configurer TLS.
La fonctionnalité expérimentale Ingress routes est dépréciée. Pour les utilisateurs existants, voir Ingress routes legacy. Les nouveaux déploiements doivent utiliser le routage standard basé sur nginx.
Installation via KOTS
Sur les clusters existants, un Ingress par défaut est fourni. Cet Ingress par défaut est appuyé par un service Kubernetes (nommé gitguardian).
L'ingress par défaut est personnalisable, permettant des modifications de className, pathType, Annotations/Labels.
TLS sera activé si vous téléversez un certificat dans la section TLS certificates.
Dans la console d'administration KOTS, vous pouvez configurer les paramètres suivants :
- ClassName de la ressource à utiliser
- PathType et Path pour router vers l'instance GitGuardian
- Annotations et Labels spécifiques à votre contrôleur ingress

Utiliser votre propre Ingress
Vous avez la possibilité de désactiver l'Ingress par défaut et de configurer le vôtre. Voici comment procéder selon votre type d'installation :
Installation via Helm
Dans le fichier values.yaml, définissez le paramètre ingress.enabled sur false.
Installation via KOTS
Dans la console d'administration KOTS, utilisez simplement un Service.

Configuration ingress personnalisée
Si vous choisissez d'utiliser votre propre Ingress, voici les champs que vous devrez modifier :
defaultBackendingressClassName(utilisez ceci pour les contrôleurs Ingress qui le prennent en charge ; sinon, utilisez l'annotation dépréciéekubernetes.io/ingress.class)rulestls
Pour obtenir plus de détails sur chacun de ces champs, exécutez la commande kubectl explain ingress.spec.
Configuration du protocole
Le service backend est configuré pour écouter uniquement en HTTPS, et votre Ingress doit être configuré en conséquence.
Si vous utilisez le contrôleur Ingress NGINX, cette configuration est déjà gérée dans l'Ingress inclus via l'annotation nginx.ingress.kubernetes.io/backend-protocol: HTTPS. Cependant, si vous utilisez un autre contrôleur Ingress, vous devrez peut-être ajouter les annotations nécessaires dans la zone de texte fournie.
Exemple de configuration
Voici un exemple de ce à quoi pourrait ressembler une configuration Ingress personnalisée :
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: <ingress_class> # for ingress controllers that do not support ingressClassName
labels:
kots.io/app-slug: gitguardian-seal
kots.io/backup: velero
name: gitguardian
namespace: <your-namespace>
spec:
ingressClassName: <ingress_class> # for ingress controllers that support this field
rules:
- host: <application_hostname>
http:
paths:
- backend:
service:
name: gitguardian
port:
number: 443
path: /
pathType: Prefix
tls:
- hosts:
- <application_hostname>
secretName: <secret_name> # when using a kubernetes secret