De netwerk architectuur van mijn k3s cluster legt uit hoe verkeer van buiten naar de juiste pod komt. Drie nodes, een externe Nginx reverse proxy, en Traefik uitgeschakeld ten gunste van een eigen ingress flow.

Ingress flow

Binnenkomend verkeer gaat altijd via de externe Nginx proxy — die staat buiten het cluster en kent geen interne IPs in de browser.















Internet
:443



Nginx
reverse proxy
extern



k3s cluster



Ingress
nginx-ingress
:80






web
siekman.io ns



gitea
git ns



grafana
monitoring ns



Namespaces

Elke applicatie krijgt een eigen namespace — dat maakt resource quota's en netwerk policies eenvoudiger.

📄

De ingress controller draait als DaemonSet op alle nodes, zodat Nginx altijd een gezonde backend heeft ook als een node uitvalt.



Nginx config patroon

upstream k3s {
    server 10.0.0.11:80;
    server 10.0.0.12:80;
    server 10.0.0.13:80;
}

server {
    server_name *.siekman.io;
    location / {
        proxy_pass http://k3s;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

💡

Gebruik proxysetheader X-Real-IP zodat je applicaties het echte IP van bezoekers zien in plaats van het interne cluster IP.



Dit artikel lezen in het Engels?

Read in English →