Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Il s'agit d'une documentation non publiée pour SUSE® Storage 1.12 (Dev).

Créer un HTTPRoute avec l’API de la passerelle

Si vous installez SUSE Storage sur un cluster Kubernetes avec kubectl ou Helm, vous pouvez utiliser API de la passerelle HTTPRoute comme une alternative moderne à Ingress pour exposer l’interface utilisateur SUSE Storage au trafic externe.

L’API de la passerelle est le successeur d’Ingress, offrant des capacités de routage plus expressives et une approche standardisée à travers différentes implémentations.

Conditions préalables

  1. CRD de l’API de la passerelle installées dans votre cluster :

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
  2. Un contrôleur de passerelle en cours d’exécution dans votre cluster (par exemple, Istio, Envoy Gateway, Cilium, NGINX Gateway Fabric, Traefik, et d’autres).

  3. Au moins une ressource passerelle déployée et configurée.

Configuration des valeurs Helm

Les valeurs Helm suivantes contrôlent la génération de HTTPRoute :

Clé Type Par défaut Description

httproute.enabled

bool

false

Activer la génération de HTTPRoute pour l’interface utilisateur SUSE Storage

httproute.parentRefs

liste

[]

Références de passerelle spécifiant quelle passerelle ou quelles passerelles doivent gérer cette route

httproute.hostnames

liste

[]

Liste des noms d’hôtes pour le HTTPRoute

httproute.path

chaîne

"/"

Chemin pour accéder à l’interface utilisateur SUSE Storage

httproute.pathType

chaîne

"PathPrefix"

Type de correspondance de chemin : Exact, PathPrefix ou RegularExpression

httproute.annotations

objet

{}

Annotations pour la ressource HTTPRoute

Installation de base

Installer SUSE Storage avec HTTPRoute activé :

helm install longhorn longhorn/longhorn \
  --namespace longhorn-system \
  --create-namespace \
  --set "httproute.enabled=true" \
  --set "httproute.parentRefs[0].name=my-gateway" \
  --set "httproute.parentRefs[0].namespace=default" \
  --set "httproute.hostnames[0]=longhorn.example.com"

configuration avancée

Pour des configurations plus complexes, créez un fichier de valeurs :

httproute:
  enabled: true
  parentRefs:
    - name: primary-gateway
      namespace: gateway-system
    - name: secondary-gateway
      namespace: gateway-system
      sectionName: https  # Target specific listener
  hostnames:
    - longhorn.example.com
    - longhorn.example.org
  path: /longhorn
  pathType: PathPrefix
  annotations:
    custom-annotation: "value"

Installer avec le fichier de valeurs :

helm install longhorn longhorn/longhorn \
  --namespace longhorn-system \
  --create-namespace \
  --values values.yaml

Vérification

  1. Vérifiez que le HTTPRoute a été créé :

    kubectl get httproute -n longhorn-system
  2. Vérifiez les détails du HTTPRoute :

    kubectl describe httproute longhorn-httproute -n longhorn-system
  3. Vérifiez que la route est acceptée par la passerelle :

    kubectl get httproute longhorn-httproute -n longhorn-system -o jsonpath='{.status.parents[*].conditions}'

    La sortie doit afficher Accepted: True et ResolvedRefs: True.

  4. Accédez à l’interface utilisateur SUSE Storage via l’adresse IP externe ou le nom d’hôte de votre passerelle.