正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Envoyゲートウェイを使用する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed
  • ステータス: ベータ版

GitLabチャートは、バンドルされているNGINX IngressからゲートウェイAPIへの移行をサポートするために、バンドルされたEnvoyゲートウェイを備えています。

Envoyゲートウェイの設定

設定の詳細については、Envoy GatewayEnvoy Gateway Helm Chartを設定してください。

ゲートウェイAPIリソースの設定

GitLabチャートは、GatewayEnvoyProxyEnvoyPatchPolicy、および各コンポーネントのルートの事前設定デプロイをサポートしています。

詳細については、グローバルゲートウェイAPIのドキュメントを確認してください。

バンドルされたNGINX Ingressからの移行

この移行により、ダウンタイムが発生します。

(NGINX)IngressからゲートウェイAPIおよびEnvoyゲートウェイに移行するには:

  1. EnvoyおよびゲートウェイAPI CRDをインストールします:

    helm template eg-crds oci://docker.io/envoyproxy/gateway-crds-helm \
      --version v1.6.0 \
      --set crds.gatewayAPI.enabled=true \
      --set crds.envoyGateway.enabled=true \
      | kubectl apply --server-side -f -
  2. そうでない場合は、クラウドプロバイダーを介してゲートウェイAPI CRDをインストールするか、手動で適用してクラスターに適用します。

  3. NGINX IngressおよびIngressリソースを無効にします:

    # Disable bundled NGINX Ingress controller.
    nginx-ingress:
      enabled: false
    
    global:
      # Disable rendering of Ingress resources.
      ingress:
        enabled: false
  4. ゲートウェイAPIのCertmanagerを設定します:

    # Configure bundled certmanager for Gateway API support.
    certmanager:
      config:
        apiVersion: controller.config.cert-manager.io/v1alpha1
        kind: ControllerConfiguration
        enableGatewayAPI: true
    
    global:
      gatewayApi:
        configureCertmanager: true
  5. EnvoyおよびゲートウェイAPIリソースを有効にします:

    global:
      # Disable rendering of Ingress resources.
      gatewayApi:
        # Install a Gateway and Routes for each component.
        enabled: true
        # Install the bundled Envoy Gateway chart, a GatewayClass, a EnvoyPatchPolicy, and the EnvoyProxy resources.
        installEnvoy: true
        # Create a Gateway API compatible certmanager Issuer and configure the Gateway to use it.
        class:
          create: true
  6. オプション: 静的IPアドレスをバインドするようにゲートウェイを設定します。global.hosts.externalIPを介して設定されたIPがデフォルトで再利用されます。

    # Depending on your cloud provider you might to migrate additional annotations.
    global:
      hosts:
        # Only used by Envoy if bundled NGINX Ingress is disabled and no custom
        # gateway addresses are defined.
        externalIP: "127.0.0.1"
      gatewayApi:
        addresses:
         - type: IPAddress
           value: "127.1.1.1"
  7. 更新された値でGitLabチャートのリリースをアップグレードします。