Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Erstellen Sie eine HTTPRoute mit der Gateway-API

Wenn Sie SUSE Storage auf einem Kubernetes-Cluster mit kubectl oder Helm installieren, können Sie Gateway API HTTPRoute als moderne Alternative zu Ingress verwenden, um die SUSE Storage UI für externen Verkehr bereitzustellen.

Die Gateway-API ist der Nachfolger von Ingress und bietet ausdrucksstärkere Routing-Funktionen sowie einen standardisierten Ansatz über verschiedene Implementierungen hinweg.

Voraussetzungen

  1. Gateway API CRDs installiert in Ihrem Cluster:

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
  2. Ein Gateway-Controller läuft in Ihrem Cluster (zum Beispiel Istio, Envoy Gateway, Cilium, NGINX Gateway Fabric, Traefik und andere).

  3. Mindestens eine Gateway-Ressource bereitgestellt und konfiguriert.

Helm-Werte-Konfiguration

Die folgenden Helm-Werte steuern die Generierung von HTTPRoute:

Tasten Typ Standard Beschreibung

httproute.enabled

bool

false

Aktivieren Sie die Generierung von HTTPRoute für die SUSE Storage UI

httproute.parentRefs

list

[]

Gateway-Referenzen, die angeben, welches Gateway oder welche Gateways diese Route bearbeiten sollen.

httproute.hostnames

list

[]

Liste der Hostnamen für die HTTPRoute

httproute.path

Zeichenfolge

"/"

Pfad zum Zugriff auf die SUSE Storage UI

httproute.pathType

Zeichenfolge

"PathPrefix"

Pfadübereinstimmungstyp: Exact, PathPrefix oder RegularExpression

httproute.annotations

object

{}

Annotationen für die HTTPRoute-Ressource

Standardinstallation

Installieren Sie SUSE Storage mit aktivierter HTTPRoute:

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"

Erweiterte Konfiguration

Für komplexere Setups erstellen Sie eine Werte-Datei:

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"

Installation mit der Werte-Datei:

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

Überprüfung

  1. Überprüfen Sie, ob die HTTPRoute erstellt wurde:

    kubectl get httproute -n longhorn-system
  2. Überprüfen Sie die HTTPRoute-Details:

    kubectl describe httproute longhorn-httproute -n longhorn-system
  3. Überprüfen Sie, ob die Route vom Gateway akzeptiert wird:

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

    Die Ausgabe sollte Accepted: True und ResolvedRefs: True anzeigen.

  4. Greifen Sie über die externe IP-Adresse oder den Hostnamen Ihres Gateways auf die SUSE Storage UI zu.