Megcsináltam végig a folyamatot, létrehoztam egy Deploymentet (sima alap nginx), létrehoztam egy servcie-t hozzá NodePort típusút, és egy Ingress szabályt. Evvel a folyamattal (fix ezekkel a ymlkel) pl egy minikube klaszterben 80-as porton elértem az nginx-et, a több node-os, vasra telepített k8s klaszterben viszont nem érem el a node-ok IP címein.
10.10.128.111-113 IP-n érhetőek el a node-ok, és egyik IP-n sem érhető el a 80-as port (eleve nem hallgat semmi a 80-as porton).
A gond valahol ott lehet, hogy a kubernetes nem tudja, hogy a 10.10.128.xxx IP-n kellene kitegye az ingress 80-as portját.
Ami még közben eszembe jutott, hogy a docker nem települt rendesen, elvégre a kubernetes csak egy orchestrator de a hálózatra a dolgokat a docker köti rá.
Így a dockert elemezve már látszik is a probléma:
docker network inspect bridge
- látszik, hogy az ingress pod-ja nincs benne a bridge hálózatban, tehát nincs is, hogy elérhető legyen a 10.10.128.x ip-n
docker ps-nél pedig nincs PORT hozzárendelve:
5a4e8027b36a k8s.gcr.io/pause:3.1 "/pause" 24 hours ago Up 24 hours k8s_POD_nginx-ingress-pvnnt_nginx-ingress_a321a30d-8cd6-11e9-b8aa-005056874dfe_0
minikube esetén:
9d729d3324aa k8s.gcr.io/pause:3.1 "/pause" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:18080->18080/tcp k8s_POD_nginx-ingress-controller-586cdc477c-q59qr_kube-system_c4e44647-8694-11e9-8399-0800276ec518_1
Vajon nálam van valami egyedi bug (3x újrahúztam a kalsztert, 2x terraforms-al, egyszer kézzel), vagy valahol kihagyok valamit a kubernetes vagy ingress konfigból?