Migration Execution Strategy
This document is a deep-dive guide for the Gateway API Adoption Guide. It provides a practical migration strategy from NGINX Ingress to Gateway API.
1. Prerequisites: CRD Installationโ
# Gateway API v1.4.0 standard install
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yaml
# Experimental features (optional)
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/experimental-install.yaml
Controller-specific installation: AWS LBC v3 (Helm with enableGatewayAPI=true), NGINX Gateway Fabric, Envoy Gateway, Cilium (already enabled with gatewayAPI.enabled=true).
2. 5-Phase Migration Processโ
3. Phase-by-Phase Detailโ
Phase 1: Preparation โ Inventory collection, feature mapping, risk assessment Phase 2: Build โ CRD installation, controller deployment, PoC in test environment Phase 3: Parallel Operation โ Production Gateway + HTTPRoute creation alongside existing NGINX Ingress Phase 4: Switchover โ DNS weighted routing: 10% โ 50% โ 100% Phase 5: Completion โ NGINX Ingress backup, resource removal, documentation
host: example.comโHTTPRoute.spec.hostnamespath: /apiโHTTPRoute.spec.rules[].matches[].pathpathType: Prefixโpath.type: PathPrefixannotations: rewrite-targetโfilters[].type: URLRewriteannotations: rate-limitโPolicy Attachment (๊ตฌํ์ฒด๋ณ ์์ด)annotations: cors-*โPolicy Attachmentannotations: auth-*โPolicy Attachment ๋๋ ์ธ๋ถ ์ธ์ฆannotations: ssl-redirectโGateway TLS ๋ฆฌ์ค๋ ์๋ ์ฒ๋ฆฌ4. Validation Scriptโ
Validation script checks: HTTPRoute existence, Accepted/Programmed conditions, backend service endpoints, Gateway address, and HTTP request test.
5. Troubleshootingโ
Controller-specific debugging commands provided for: AWS Load Balancer Controller, Cilium Gateway API, NGINX Gateway Fabric, and Envoy Gateway.