Skip to content

Commit 4d51041

Browse files
authored
Add information on Traefik ingress-controller (#410)
Signed-off-by: Derek Nola <[email protected]>
1 parent 0f6107e commit 4d51041

File tree

1 file changed

+39
-5
lines changed

1 file changed

+39
-5
lines changed

docs/networking/networking_services.md

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,13 @@ This is done in 2 steps:
9191
```
9292

9393

94-
## Nginx Ingress Controller
94+
## Ingress Controller
9595

96-
[nginx-ingress](https://github.com/kubernetes/ingress-nginx) is an Ingress controller powered by NGINX that uses a ConfigMap to store the NGINX configuration.
96+
<Tabs>
97+
<TabItem value="ingress-nginx">
98+
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) is an Ingress controller powered by NGINX that uses a ConfigMap to store the NGINX configuration.
9799

98-
`nginx-ingress` is deployed by default when starting the server. Ports 80 and 443 will be bound by the ingress controller in its default configuration, making these unusable for HostPort or NodePort services in the cluster.
100+
`ingress-nginx` is deployed by default when starting the server. Ports 80 and 443 will be bound by the ingress controller in its default configuration, making these unusable for HostPort or NodePort services in the cluster.
99101

100102
Configuration options can be specified by creating a [HelmChartConfig manifest](../helm.md#customizing-packaged-components-with-helmchartconfig) to customize the `rke2-ingress-nginx` HelmChart values. For example, a HelmChartConfig at `/var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx-config.yaml` with the following contents sets `use-forwarded-headers` to `"true"` in the ConfigMap storing the NGINX config:
101103
```yaml
@@ -112,9 +114,41 @@ spec:
112114
config:
113115
use-forwarded-headers: "true"
114116
```
115-
For more information, refer to the official [nginx-ingress Helm Configuration Parameters](https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx#configuration).
117+
For more information, refer to the official [ingress-nginx Helm configuration parameters](https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx#configuration).
116118

117-
To disable the NGINX ingress controller, start each server with the `disable: rke2-ingress-nginx` option in your configuration file.
119+
</TabItem>
120+
<TabItem value="traefik">
121+
122+
:::info Version Gate
123+
Traefik support is available as of August 2024 releases: v1.28.12+rke2r1, v1.29.7+rke2r1, v1.30.3+rke2r1
124+
:::
125+
126+
[traefik](https://doc.traefik.io/traefik/) is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It simplifies networking complexity while designing, deploying, and running applications.
127+
128+
To use traefik, start each server with the `ingress-controller: traefik` option in your configuration file.
129+
130+
Configuration options can be specified by creating a [HelmChartConfig manifest](../helm.md#customizing-packaged-components-with-helmchartconfig) to customize the `rke2-traefik` HelmChart values. For example, a HelmChartConfig at `/var/lib/rancher/rke2/server/manifests/rke2-traefik-config.yaml` with the following contents enables the kubernetes gateway api:
131+
132+
```yaml
133+
# /var/lib/rancher/rke2/server/manifests/rke2-traefik-config.yaml
134+
---
135+
apiVersion: helm.cattle.io/v1
136+
kind: HelmChartConfig
137+
metadata:
138+
name: rke2-traefik
139+
namespace: kube-system
140+
spec:
141+
valuesContent: |-
142+
providers:
143+
kubernetesGateway:
144+
enabled: true
145+
```
146+
For more information, refer to the official [traefik Helm configuration parameters](https://github.com/traefik/traefik-helm-chart/blob/master/traefik/VALUES.md).
147+
148+
</TabItem>
149+
</Tabs>
150+
151+
To disable the ingress controller, start each server with the `ingress-controller: none` option in your configuration file.
118152

119153
## Service Load Balancer
120154

0 commit comments

Comments
 (0)