From b43874bdcdc33952db9245053796b5a51a8d94a0 Mon Sep 17 00:00:00 2001 From: Roger Oriol Date: Fri, 26 Jun 2026 13:38:43 +0200 Subject: [PATCH] Expose minecraft server over TCP via MetalLB Minecraft Java Edition uses raw TCP on port 25565, not HTTP. The previous ClusterIP Service + HTTP Ingress (Traefik 80/443) could not carry TCP 25565 traffic, so minecraft.rogi.casa:25565 was unreachable. - Change Service to LoadBalancer with fixed IP 10.88.20.103 (dmz-pool), matching the pihole-dns pattern, so port 25565 is exposed directly. - Remove the dead HTTP ingress (it routed HTTP to a TCP game port). --- minecraft-server/ingress.yaml | 24 ------------------------ minecraft-server/minecraft-server.yaml | 4 +++- 2 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 minecraft-server/ingress.yaml diff --git a/minecraft-server/ingress.yaml b/minecraft-server/ingress.yaml deleted file mode 100644 index 786d52e..0000000 --- a/minecraft-server/ingress.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: minecraft - namespace: minecraft - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod -spec: - ingressClassName: traefik - tls: - - hosts: - - minecraft.rogi.casa - secretName: minecraft-tls - rules: - - host: minecraft.rogi.casa - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: minecraft-server - port: - number: 25565 diff --git a/minecraft-server/minecraft-server.yaml b/minecraft-server/minecraft-server.yaml index 1d6dacb..6ae00f4 100644 --- a/minecraft-server/minecraft-server.yaml +++ b/minecraft-server/minecraft-server.yaml @@ -12,10 +12,12 @@ metadata: labels: app: minecraft-server spec: - type: ClusterIP + type: LoadBalancer + loadBalancerIP: 10.88.20.103 ports: - name: minecraft port: 25565 targetPort: 25565 + protocol: TCP selector: app: minecraft-server