nginx-to-higress-migration
Migrate from ingress-nginx to Higress in Kubernetes environments. Use when (1) analyzing existing ingress-nginx setup (2) reading nginx Ingress resources and ConfigMaps (3) installing Higress via helm with proper ingressClass (4) identifying unsupported nginx annotations (5)
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Migrate from ingress-nginx to Higress in Kubernetes environments. Use when (1) analyzing existing ingress-nginx setup (2) reading nginx Ingress resources and ConfigMaps (3) installing Higress via helm with proper ingressClass (4) identifying unsupported nginx annotations (5) generating WASM plugins for nginx snippets/advanced features (6) building and deploying custom plugins to image registry. Supports full migration workflow with compatibility analysis and plugin generation.
How to use
Przygotuj środowisko: upewnij się, że masz zainstalowany kubectl z dostępem do klastra, helm 3.x, Go 1.24+ oraz Docker. Te narzędzia są wymagane do pełnego przepływu migracji i kompilacji wtyczek WASM.
Wykonaj backup i analizę: utwórz kopię zapasową wszystkich zasobów Ingress poleceniem kubectl get ingress -A -o yaml, a następnie zidentyfikuj użycie adnotacji nginx-snippet, które Higress nie obsługuje. Uruchom polecenie grep na swoich zasobach, aby znaleźć nginx.ingress.kubernetes.io/server-snippet, nginx.ingress.kubernetes.io/configuration-snippet i nginx.ingress.kubernetes.io/http-snippet.
Zmapuj adnotacje: wylistuj wszystkie adnotacje nginx w użyciu w swoim klastrze i sprawdź ich kompatybilność z Higress za pomocą dokumentacji annotation-mapping.md. To krok krytyczny — niektóre adnotacje mogą być niezgodne i wymagać alternatywnych rozwiązań.
Zainstaluj Higress: wdróż Higress do klastra za pomocą helm, upewniając się, że prawidłowo skonfigurowany jest ingressClass. Higress stanie się nowym kontrolerem ingress dla Twojego klastra.
Wygeneruj wtyczki WASM: dla funkcji nginx, które nie mają bezpośredniego odpowiednika w Higress (szczególnie te oparte na snippet-ach), użyj narzędzia do generowania wtyczek WASM. Skompiluj wtyczki za pomocą Go i wypchnij obrazy do rejestru Docker.
Wdróż i weryfikuj: zainstaluj wygenerowane wtyczki w Higress, przetestuj migrację na małym podzbiorze zasobów, a następnie stopniowo przemigruj pozostałe ingress-y. Monitoruj logi i funkcjonalność, aby upewnić się, że wszystkie usługi działają poprawnie.