Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Esta es documentación inédita para SUSE® Storage 1.12 (Dev).

Crea un HTTPRoute con Gateway API

Si instalas SUSE Storage en un clúster de Kubernetes con kubectl o Helm, puedes usar Gateway API HTTPRoute como una alternativa moderna a Ingress para exponer la interfaz de usuario de SUSE Storage al tráfico externo.

Gateway API es el sucesor de Ingress, ofreciendo capacidades de enrutamiento más expresivas y un enfoque estandarizado en diferentes implementaciones.

Requisitos previos

  1. CRDs de Gateway API instalados en tu clúster:

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
  2. Un controlador de Gateway en ejecución en tu clúster (por ejemplo, Istio, Envoy Gateway, Cilium, NGINX Gateway Fabric, Traefik y otros).

  3. Al menos un recurso de Gateway desplegado y configurado.

Configuración de valores de Helm

Los siguientes valores de Helm controlan la generación de HTTPRoute:

Key Tipo Default Descripción

httproute.enabled

bool

false

Habilitar la generación de HTTPRoute para SUSE Storage la interfaz de usuario

httproute.parentRefs

lista

[]

Referencias de Gateway que especifican qué Gateway o Gateways deben manejar esta ruta

httproute.hostnames

lista

[]

Lista de nombres de host para el HTTPRoute

httproute.path

cadena

"/"

Ruta para acceder a SUSE Storage la interfaz de usuario

httproute.pathType

cadena

"PathPrefix"

Tipo de coincidencia de ruta: Exact, PathPrefix o RegularExpression

httproute.annotations

object

{}

Anotaciones para el recurso HTTPRoute

Instalación básica

Instala SUSE Storage con HTTPRoute habilitado:

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"

configuración avanzada

Para configuraciones más complejas, crea un archivo de valores:

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"

Instala con el archivo de valores:

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

Verificación

  1. Verifica que se haya creado el HTTPRoute:

    kubectl get httproute -n longhorn-system
  2. Consulta los detalles del HTTPRoute:

    kubectl describe httproute longhorn-httproute -n longhorn-system
  3. Verifica que la ruta sea aceptada por el Gateway:

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

    La salida debe mostrar Accepted: True y ResolvedRefs: True.

  4. Accede a SUSE Storage la interfaz de usuario a través de la dirección IP externa o el nombre de host de tu Gateway.