Skip to content

Commit c37b2f7

Browse files
committed
Traefik sucks
1 parent 6a63ade commit c37b2f7

3 files changed

+23
-2
lines changed

_posts/2025-09-14-save-remote-desktop-password.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: post
33
title: "Save Remote Desktop Password"
44
date: 2025-09-14 17:33:17 +0800
5-
categories: Windows
5+
categories: RemoteDesktop
66
---
77
For reason unknown, the Remote desktop app of my Windows 11 does not give the saving credentials option. After I switched to a longer password length, this is urgenly a problem.
88

_posts/2025-11-30-use-admission-control-to-ensure-ingress-security.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: post
33
title: "Use Admission Control to ensure Ingress security"
44
date: 2025-11-30 16:02:17 +0800
5-
categories:
5+
categories: K8S
66
---
77
Using K8S, one got to setup a lot of Ingresses. Some are directly configured by me, some are from existing manifests, some are indirectly from Helm charts. And needless to say, every Ingress should be protected by TLS.
88

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
layout: post
3+
title: "The K8S Gateway API implementation in Traefik is wrong"
4+
date: 2025-12-19 15:20:17 +0800
5+
categories: Gateway Traefik
6+
---
7+
Recently I am playing with Ingress and Gateway, to make my tool to restrict exposing content via HTTP.
8+
9+
Since my dev server is K3S, which comes with Traefik. I read its [doc](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/gateway-api/), which was quite surprising.
10+
11+
From K8S [doc](https://kubernetes.io/docs/concepts/services-networking/gateway/), when I create a Gateway, I am basically telling whatever underneath how I want to expose my service. The protocol, the port, the TLS, etc. "I" am controlling over all those setups.
12+
13+
Hence with Nginx [implementation](https://github.com/nginx/nginx-gateway-fabric), I can specify almost "any" port I'd like for listeners. Then it creates corresponding service to expose Nginx on those ports.
14+
15+
Fully expected, following my understanding of K8S doc.
16+
17+
Well, with Traefik, it is not. Apparently Traefik implementation is just a knockoff of how Ingress works. The ports of listeners can only be the ones specified (along with protocols) in Traefik configuration. And because Pod and Service may listen on different ports, the ports in Gateway may not be the ones end users actually get the service.
18+
19+
More ugly, the ports configuration is not "exposed" in any simple, safe way. One making Gateway has no other ways to write it properly unless asking sys admin what is the values. Giving the ports may be varies among clusters, the Gateway may not be versatile, which seems like a cruel joke to "Gateway is more flexible", and all those charts/kustomizations/manifests online.
20+
21+
Traefik implementation for Gateway has been there for years, I cannot believe they have not realized this.

0 commit comments

Comments
 (0)