Skip to content

gatewayapi docs - #317

Open
l0wl3vel wants to merge 1 commit into
mainfrom
feat/gatewayapi
Open

gatewayapi docs#317
l0wl3vel wants to merge 1 commit into
mainfrom
feat/gatewayapi

Conversation

@l0wl3vel

@l0wl3vel l0wl3vel commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Description

TODO

Used AI-Tools ✨

  • TOOL used for generation

@metal-robot metal-robot Bot added the area: documentation Affects the documentation area. label Jul 8, 2026
@metal-robot metal-robot Bot added this to Development Jul 8, 2026
@netlify

netlify Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploy Preview for metal-stack-io ready!

Name Link
🔨 Latest commit 3bf85bc
🔍 Latest deploy log https://app.netlify.com/projects/metal-stack-io/deploys/6a7aebb3c8e119000865f5c3
😎 Deploy Preview https://deploy-preview-317--metal-stack-io.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@l0wl3vel l0wl3vel linked an issue Jul 8, 2026 that may be closed by this pull request
@l0wl3vel l0wl3vel added area: network Affects the network area. area: control-plane Affects the metal-stack control-plane area. labels Jul 8, 2026
@Gerrit91
Gerrit91 self-requested a review July 13, 2026 12:20
@iljarotar iljarotar moved this to In Progress in Development Jul 13, 2026
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
@l0wl3vel
l0wl3vel marked this pull request as ready for review August 11, 2026 12:35
@l0wl3vel
l0wl3vel requested a review from a team as a code owner August 11, 2026 12:35

@Gerrit91 Gerrit91 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this up! Left some comments, which I hope are helpful.


### Continued need for an Ingress Controller

For some vendor dependencies you will still require an ingress controller. Examples of services still relying on Ingress are Gardener and Thanos. As ingress-nginx is EoL we recommend switching to a different Ingress Controller implementation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gardener does not rely on an ingress controller from third-party.


### Familiarize yourself with Gateway API

Gateway API is more complex than Ingress and consists of multiple different resources and operator personas. The rest of the guide assumes a basic understanding of the `HTTPRoute`, `TCPRoute`, `Gateway`, `GatewayClass`. An introduction can be found [here](https://gateway-api.sigs.k8s.io/docs/introduction/)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Gateway API is more complex than Ingress and consists of multiple different resources and operator personas. The rest of the guide assumes a basic understanding of the `HTTPRoute`, `TCPRoute`, `Gateway`, `GatewayClass`. An introduction can be found [here](https://gateway-api.sigs.k8s.io/docs/introduction/)
Gateway API is more complex than Ingress and consists of multiple different resources and operator personas. The rest of the guide assumes a basic understanding of the `HTTPRoute`, `TCPRoute`, `Gateway`, `GatewayClass`. An introduction can be found [here](https://gateway-api.sigs.k8s.io/docs/introduction/).


### Migrating Components

::: warning

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This block is not properly rendered in docusaurus.

The old Ingress Controller and new Gateway are going to have different IP addresses.
:::

Deploy the `HTTPRoutes` and `TCPRoutes` for each component using metal-role. *routes and Ingress resources can be deployed at the same time. To switch over a service to the Gateway, change the DNS record of that service from pointing to the Ingress Controller to the Gateway.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Deploy the `HTTPRoutes` and `TCPRoutes` for each component using metal-role. *routes and Ingress resources can be deployed at the same time. To switch over a service to the Gateway, change the DNS record of that service from pointing to the Ingress Controller to the Gateway.
Deploy the `HTTPRoute` and `TCPRoute` resources for each component using metal-role. Note that routes and Ingress resources can be deployed at the same time. To switch over a service to the Gateway, change the DNS record of that service from pointing to the Ingress Controller to the Gateway.

- name: metal-control-plane
sectionName: https
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was using a gateway resolver for cert-manager to issue certificates and for this scenario I manually copied the existing cert secrets over to the gateway namespace in order to make both services successfully reachable in parallel for a transition time window. Not sure if there is a better solution than that. Otherwise we could just recommend that there will be a short switchover phase where the services are not available until cert-manager was able to solve the DNS challenge for the IP address.


Check your endpoints are still reachable on their expected host names/IP addresses. The easiest way to do that is to check with metalctl(metal-api)/metalctlv2(metal-apiserver).

It is also recommended to check if the DNS records really resolve the new Gateway and are not accessed via the old ingress infrastructure. Use `nslookup`/`dig` to check your hostname and make sure they resolve to the same IP address as the Gateway

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
It is also recommended to check if the DNS records really resolve the new Gateway and are not accessed via the old ingress infrastructure. Use `nslookup`/`dig` to check your hostname and make sure they resolve to the same IP address as the Gateway
It is also recommended to check if the DNS records really resolve the new Gateway and are not accessed via the old ingress infrastructure. Use `nslookup`/`dig` to check your hostname and make sure they resolve to the same IP address as the Gateway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: control-plane Affects the metal-stack control-plane area. area: documentation Affects the documentation area. area: network Affects the network area.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Document migration path to Gateway API

3 participants