Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Esta é uma documentação não divulgada para SUSE® Storage 1.12 (Dev).

Crie um HTTPRoute com a Gateway API

Se você instalar SUSE Storage em um cluster Kubernetes com kubectl ou Helm, pode usar Gateway API HTTPRoute como uma alternativa moderna ao Ingress para expor a interface do usuário SUSE Storage ao tráfego externo.

Gateway API é a sucessora do Ingress, oferecendo capacidades de roteamento mais expressivas e uma abordagem padronizada em diferentes implementações.

Pré-requisitos

  1. CRDs da Gateway API instalados em seu cluster:

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
  2. Um controlador de gateway em execução em seu cluster (por exemplo, Istio, Envoy Gateway, Cilium, NGINX Gateway Fabric, Traefik e outros).

  3. Pelo menos um recurso de gateway implantado e configurado.

Configuração de valores do Helm

Os seguintes valores do Helm controlam a geração de HTTPRoute:

Chave Tipo Default Descrição

httproute.enabled

bool

false

Habilitar a geração de HTTPRoute para a SUSE Storage interface do usuário

httproute.parentRefs

listar

[]

Referências de gateway especificando qual gateway ou gateways devem lidar com esta rota

httproute.hostnames

listar

[]

Lista de nomes de host para o HTTPRoute

httproute.path

string

"/"

Caminho para acessar a SUSE Storage interface do usuário

httproute.pathType

string

"PathPrefix"

Tipo de correspondência de caminho: Exact, PathPrefix ou RegularExpression

httproute.annotations

object

{}

Anotações para o recurso HTTPRoute

Instalação básica

Instale SUSE Storage com 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"

Configuração avançada

Para configurações mais complexas, crie um arquivo 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"

Instale com o arquivo de valores:

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

Verificação

  1. Verifique se o HTTPRoute foi criado:

    kubectl get httproute -n longhorn-system
  2. Verifique os detalhes do HTTPRoute:

    kubectl describe httproute longhorn-httproute -n longhorn-system
  3. Verifique se a rota é aceita pelo gateway:

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

    A saída deve mostrar Accepted: True e ResolvedRefs: True.

  4. Acesse a SUSE Storage interface do usuário através do endereço IP externo ou nome do host do seu gateway.