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.
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 →