Envoyゲートウェイを使用する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
- ステータス: ベータ版
GitLabチャートは、バンドルされているNGINX IngressからゲートウェイAPIへの移行をサポートするために、バンドルされたEnvoyゲートウェイを備えています。
Envoyゲートウェイの設定
設定の詳細については、Envoy GatewayとEnvoy Gateway Helm Chartを設定してください。
ゲートウェイAPIリソースの設定
GitLabチャートは、Gateway、EnvoyProxy、EnvoyPatchPolicy、および各コンポーネントのルートの事前設定デプロイをサポートしています。
詳細については、グローバルゲートウェイAPIのドキュメントを確認してください。
バンドルされたNGINX Ingressからの移行
この移行により、ダウンタイムが発生します。
(NGINX)IngressからゲートウェイAPIおよびEnvoyゲートウェイに移行するには:
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 -そうでない場合は、クラウドプロバイダーを介してゲートウェイAPI CRDをインストールするか、手動で適用してクラスターに適用します。
NGINX IngressおよびIngressリソースを無効にします:
# Disable bundled NGINX Ingress controller. nginx-ingress: enabled: false global: # Disable rendering of Ingress resources. ingress: enabled: falseゲートウェイ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: trueEnvoyおよびゲートウェイ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オプション: 静的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"更新された値でGitLabチャートのリリースをアップグレードします。