Skip to content

Commit 8916557

Browse files
authored
Adding ingress-nginx welcome guide along with new "getting started" section (#4334)
* Adding ingress-nginx welcome guide along with new "getting started" section * Responding to feedback
1 parent 07f4698 commit 8916557

File tree

6 files changed

+215
-139
lines changed

6 files changed

+215
-139
lines changed

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ plugins:
4949
j2_line_comment_prefix: "#$"
5050
- redirects:
5151
redirect_maps:
52-
'guides/getting-started.md': 'guides/index.md'
52+
'guides/index.md': 'guides/getting-started/index.md'
53+
'ingress-nginx': 'guides/getting-started/migrating-from-ingress-nginx.md'
5354
'concepts/gamma.md': 'mesh/index.md'
5455
'concepts/service-facets.md': 'mesh/service-facets.md'
5556
'concepts/guidelines.md': 'guides/api-design.md'

nav.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ nav:
2424
- FAQ: faq.md
2525
- Glossary: concepts/glossary.md
2626
- Guides:
27+
- Getting Started:
28+
- Introduction: guides/getting-started/index.md
29+
- Deploying a simple Gateway: guides/getting-started/simple-gateway.md
30+
- Migrating from Ingress: guides/getting-started/migrating-from-ingress.md
31+
- Migrating from Ingress-NGINX: guides/getting-started/migrating-from-ingress-nginx.md
2732
- User Guides:
28-
- Getting started: guides/index.md
29-
- Simple Gateway: guides/simple-gateway.md
3033
- HTTP routing: guides/http-routing.md
3134
- HTTP redirects and rewrites: guides/http-redirect-rewrite.md
3235
- HTTP header modifier: guides/http-header-modifier.md
@@ -40,7 +43,6 @@ nav:
4043
- TLS: guides/tls.md
4144
- TCP routing: guides/tcp.md
4245
- gRPC Routing: guides/grpc-routing.md
43-
- Migrating from Ingress: guides/migrating-from-ingress.md
4446
- Backend Protocol Selection: guides/backend-protocol.md
4547
- Infrastructure attributes: guides/infrastructure.md
4648
- API Design: guides/api-design.md
Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,37 @@
11
# Getting started with Gateway API
22

3-
**1.** **[Install a Gateway controller](#installing-a-gateway-controller)**
4-
_OR_ **[install the Gateway API CRDs manually](#installing-gateway-api)**
5-
6-
_THEN_
7-
8-
**2.** **Try out one of the available guides:**
9-
10-
- [Simple Gateway](simple-gateway.md) (a good one to start out with)
11-
- [HTTP routing](http-routing.md)
12-
- [HTTP redirects and rewrites](http-redirect-rewrite.md)
13-
- [HTTP traffic splitting](traffic-splitting.md)
14-
- [Routing across Namespaces](multiple-ns.md)
15-
- [Configuring TLS](tls.md)
16-
- [TCP routing](tcp.md)
17-
- [gRPC routing](grpc-routing.md)
18-
- [Migrating from Ingress](migrating-from-ingress.md)
3+
Welcome to the Gateway API! This page is the best place to start, whether you're a new user or migrating from another ingress solution.
4+
5+
## For New Users
6+
7+
If you are new to Gateway API, we recommend the following path:
8+
9+
**1. Install Gateway API CRDs and a Controller**
10+
11+
You can either [install a Gateway controller](#installing-a-gateway-controller) which often installs the CRDs for you, or [install the Gateway API CRDs manually](#installing-gateway-api).
12+
13+
**2. Try out the guides**
14+
15+
Once you have a controller running, you can start with a simple example and then explore more advanced features.
16+
17+
- [Deploying a simple Gateway](./simple-gateway.md) (a good one to start out with)
18+
- [HTTP routing](../http-routing.md)
19+
- [HTTP redirects and rewrites](../http-redirect-rewrite.md)
20+
- [HTTP traffic splitting](../traffic-splitting.md)
21+
- [Routing across Namespaces](../multiple-ns.md)
22+
- [Configuring TLS](../tls.md)
23+
- [TCP routing](../tcp.md)
24+
- [gRPC routing](../grpc-routing.md)
25+
26+
27+
## Migrating from Ingress
28+
29+
If you are looking to migrate from Kubernetes Ingress, we have guides to help you get started.
30+
31+
- **[Migrating from Ingress](./migrating-from-ingress.md)**: A general guide for migrating from any Ingress implementation to Gateway API. It covers the key differences and provides a manual migration example.
32+
- **[A Welcome Guide for Ingress-NGINX Users](./migrating-from-ingress-nginx.md)**: A guide specifically for users of Ingress-NGINX, the most popular Ingress implementation. It provides a set of resources and answers to frequently asked questions.
33+
34+
---
1935

2036
## Installing a Gateway controller
2137

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# A Welcome Guide for Ingress-NGINX Users
2+
3+
Welcome! If you're an Ingress-NGINX user, you're in the right place. This page is a central hub of resources for those considering or actively migrating to Gateway API. We aim to continue to build out this page to be more comprehensive over time. If you're looking for a general overview of migrating from Ingress, please refer to our [Migrating from Ingress guide](./migrating-from-ingress.md).
4+
5+
We understand that migrations can be complex, and our goal is to provide you with the information and tools you need for a smooth transition.
6+
7+
## Common Questions
8+
9+
### How does Gateway API compare to Ingress?
10+
11+
Gateway API provides a role-oriented and more expressive API than Ingress. Where Ingress combines the concepts of a load balancer and routing rules into a single resource, Gateway API splits them apart:
12+
13+
* **Gateway:** Defines where and how traffic enters the cluster, a task for a cluster operator.
14+
* **HTTPRoute:** Defines how traffic is routed to services, a task for an application developer.
15+
16+
This separation allows for safer, multi-tenant infrastructure. For a deeper dive, check the [Ingress Migration Guide](./migrating-from-ingress.md).
17+
18+
### How do I map Ingress-NGINX features to Gateway API?
19+
20+
Many annotation-based features in Ingress-NGINX have corresponding fields in Gateway API. For example, traffic splitting, header manipulation, and TLS configuration are all native to the API. For a detailed mapping, we recommend exploring the [Gateway API HTTPRoute documentation](../../../api-types/httproute/) and the documentation of your chosen [implementation](/implementations/).
21+
22+
### Can I try Gateway API without removing Ingress-NGINX?
23+
24+
Yes, and it's highly recommended. You can run a Gateway API controller alongside your existing Ingress-NGINX controller. They will each get a different external IP address, allowing you to test and validate your new configuration in isolation without affecting production traffic.
25+
26+
## Migration Resources
27+
28+
A successful migration requires careful planning. These resources are here to help.
29+
30+
### ingress2gateway
31+
32+
Manually translating complex Ingress rules and annotations is error-prone. The **[ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway)** tool is designed to automate this process. It reads your existing Ingress resources and converts them into the corresponding Gateway and HTTPRoute resources.
33+
34+
The tool is under active development, with ongoing work to support the most widely-used Ingress-NGINX annotations. We strongly recommend using it as the starting point for your migration.
35+
36+
### Choosing an Implementation
37+
38+
The first step is to select an implementation that fits your needs. Key factors to consider include:
39+
40+
* **Conformance:** Check the [conformance reports](https://gateway-api.sigs.k8s.io/implementations/) to ensure the implementation supports the Gateway API features you require.
41+
* **Underlying Technology:** Your team's familiarity with a proxy like Envoy, NGINX, or others can influence your choice.
42+
* **Integration:** Your cloud provider or CNI may already offer an integrated Gateway API implementation.
43+
44+
## Lots in Progress
45+
46+
We've got a lot of work in progress that we hope will help your migration to Gateway API even better in the future. In addition to our ongoing work to improve ingress2gateway and work towards a v1.0 release, we're also planning for the next release of Gateway API (currently targeting February). In that release, we're hoping to graduate the following features to GA:
47+
48+
* TLSRoute
49+
* ListenerSet
50+
* HTTPRoute CORS filter
51+
52+
If there are other features that we should be working on, please let us know.
53+
54+
## We're Here to Help
55+
56+
The Gateway API community is committed to making the migration experience as smooth as possible. The `ingress2gateway` tool is a key part of this, and we are actively working to improve its annotation support.
57+
58+
If you have questions, encounter issues, or are missing a feature, please get in touch:
59+
60+
* **File an issue** on the [Gateway API repository](https://github.com/kubernetes-sigs/gateway-api/issues).
61+
* **Join a community meeting** to discuss your use case.
62+
* **Provide feedback** on the `ingress2gateway` tool by opening an issue on its [repository](https://github.com/kubernetes-sigs/ingress2gateway/issues).
63+
64+
Your feedback is invaluable in helping us improve the API and the migration tooling for everyone.

0 commit comments

Comments
 (0)