この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

HTTPRouteをGateway APIで作成する

KubernetesクラスターにSUSE StorageをkubectlまたはHelmでインストールすると、 Gateway API HTTPRouteを使用して、Ingressの代替として、SUSE Storage UIを外部トラフィックに公開する現代的な方法として利用できます。

Gateway APIはIngressの後継であり、より表現力豊かなルーティング機能と、さまざまな実装にわたる標準化されたアプローチを提供します。

前提条件

  1. クラスターに*Gateway API CRDがインストールされている*:

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml
  2. クラスター内で*ゲートウェイコントローラー*が実行されている(例:Istio、Envoy Gateway、Cilium、NGINX Gateway Fabric、Traefikなど)。

  3. 少なくとも1つの*ゲートウェイリソース*がデプロイされ、構成されている。

Helm値の設定

以下のHelm値がHTTPRouteの生成を制御します:

キー タイプ デフォルト 説明

httproute.enabled

bool

false

SUSE Storage UIのためのHTTPRoute生成を有効にする

httproute.parentRefs

リスト

[]

このルートを処理すべき、単一または複数のゲートウェイへの参照

httproute.hostnames

リスト

[]

HTTPRouteのホスト名のリスト

httproute.path

文字列

"/"

SUSE Storage UIにアクセスするためのパス

httproute.pathType

文字列

"PathPrefix"

パスマッチタイプ:ExactPathPrefix、または`RegularExpression`

httproute.annotations

object

{}

HTTPRouteリソースの注釈

基本的なインストール

HTTPRouteを有効にしてSUSE Storageをインストールする:

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"

詳細設定

より複雑なセットアップの場合、valuesファイルを作成します:

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"

valuesファイルを使用してインストールする:

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

検証

  1. HTTPRouteが作成されたことを確認する:

    kubectl get httproute -n longhorn-system
  2. HTTPRouteの詳細を確認する:

    kubectl describe httproute longhorn-httproute -n longhorn-system
  3. ゲートウェイによってルートが受け入れられていることを確認する:

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

    出力には`Accepted: True`と`ResolvedRefs: True`が表示されるべきです。

  4. ゲートウェイの外部IPアドレスまたはホスト名を通じてSUSE Storage UIにアクセスする。