Cluster information:
Kubernetes version: v1.24.2
Cloud being used: bare-metal
Installation method: kubeadm
Host OS: ubuntu 22.04
CNI and version: calico 0.3.1
CRI and version: containerd 1.6.6
I installed via kubeadm: 3x control panels, 3x workers, external etcd, HA via external haproxy.
My network:
ISP router (192.168.1.1) →
PfSense VLANs (10.0.10.1, 10.0.50.1, …) →
K8s Cluster (10.0.50.31…10.0.50.36) →
Cluster network (10.0.80.0)
Installed metallb as LB, traefik as ingress controller.
I deployed a test nginx:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: nginx
name: nginx-deploy-main
spec:
replicas: 1
selector:
matchLabels:
run: nginx-main
template:
metadata:
labels:
run: nginx-main
spec:
containers:
- image: nginx
name: nginx
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
tls:
certResolver: letsencrypt
I can curl the nginx from inside the network (the certificate is properly created).
I am pointing the domain (nginx.example.com - changed to real domain) to the ISP router’s IP via cloudflare, but I can’t access it from outside, the traffic seems to stop before reaching the service.
I should have proprely port-forwarded HTTP and HTTPS traffic from both the ISP router and the pfSense to traefik.
Should I port-forward to the single service instead?
Thank you,
Thanks,