generated from nginx/template-repository
-
Notifications
You must be signed in to change notification settings - Fork 120
NGF: Restructure ingress to gateway tool section #1096
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| --- | ||
| title: Migrate from NGINX Ingress Controller to NGINX Gateway Fabric | ||
| weight: 800 | ||
| toc: true | ||
| nd-content-type: how-to | ||
| nd-product: NGF | ||
| nd-docs: | ||
| --- | ||
|
|
||
| # Migrate from NGINX Ingress Controller | ||
|
|
||
| If you're already using NGINX Ingress Controller and want to migrate to NGINX Gateway Fabric, you can use the [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) tool to automatically convert your existing Ingress resources to Gateway API resources. | ||
|
|
||
| ## Why migrate? | ||
|
|
||
| The [Gateway API](https://gateway-api.sigs.k8s.io/) is the next-generation Kubernetes networking API that builds on the limitations of Ingress. Compared to Ingress, Gateway API provides: | ||
|
|
||
| - **Role-oriented resources**: Distinct resources for infrastructure providers, cluster operators, and application developers, enabling [separation of concerns](https://gateway-api.sigs.k8s.io/concepts/security-model/#role-oriented-resources). | ||
| - **More expressive routing**: Support for [advanced traffic management](https://gateway-api.sigs.k8s.io/concepts/api-overview/#routes) such as path-based and header-based routing, traffic splitting, and TLS configuration. | ||
| - **Standardization and portability**: A Kubernetes [community standard](https://gateway-api.sigs.k8s.io/) supported by multiple vendors, ensuring consistent behavior across implementations. | ||
| - **Extensibility**: Built on Kubernetes [CRD extensibility](https://gateway-api.sigs.k8s.io/concepts/design-principles/#extensibility) to support new capabilities without breaking the core API. | ||
|
|
||
| Migrating to Gateway API with NGINX Gateway Fabric helps future-proof your Kubernetes networking stack, provide a standardized API across implementations, and unlock advanced traffic management features. | ||
|
|
||
| ## About the ingress2gateway tool | ||
|
|
||
| The ingress2gateway tool is a Kubernetes SIG project for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. | ||
|
|
||
| {{< call-out "important" >}} | ||
| The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. | ||
| {{< /call-out >}} | ||
|
|
||
| To convert your existing NGINX Ingress resources to Gateway API resources that work with NGINX Gateway Fabric: | ||
|
|
||
| First, [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). | ||
|
|
||
| Then run the conversion command for the NGINX provider: | ||
|
|
||
| ```shell | ||
| ingress2gateway print --providers=nginx --input-file=<your-ingress-file> > gateway-api-resources.yaml | ||
| ``` | ||
|
|
||
| This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. Finally, review the generated Gateway API resources in the output file and apply them to your cluster: | ||
|
|
||
| ```shell | ||
| kubectl apply -f gateway-api-resources.yaml | ||
| ``` | ||
|
|
||
| For detailed information about NGINX-specific features and conversion options, see the [NGINX provider documentation](https://github.com/kubernetes-sigs/ingress2gateway/blob/main/pkg/i2gw/providers/nginx/README.md). | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.