Ich hatte vor einiger Zeit das zweifelhafte Vergnügen eine Cloud ohne Cloud zu bauen und da keine automatisch angebundenen LoadBalander vorhanden waren, musste mans ich überlegen wie man das ISITO so zum laufen bekommt, dass es sich anfühlt wie ein echter (Web)Server.
Nun könnte man sage: Hey Jörg, aber XYZ macht einfach einen Ingress und leitet dann nach intern weiter.
Aber ich eben nicht!
Im Grunde wollte ich nur erreichen, dass der olle (web) port nicht auf 12345 rennt (NodePort) sonder ihn einfach auf dem ausgewählten Knoten per Hostort frei gibt.
Ist auch total einfach. Als erstes suchen wir uns feste Server aus, aus denen dann der Istio-Ingress laufen wird
Label
kubectl label nodes ingress1 istiohost=yes
kubectl label nodes ingress2 istiohost=yes
kubectl label nodes ingress3 istiohost=yes
Da wir ISTIO sicherlich mit helm instalieren (in meinem Fall habe ich es via Rancher eingerichtet), können wir die Values oder eben die templates so anpassen, dass wir das Istio-Ingress-gateway so anpassen, dass es unter dem Pfad spec.template.spec.containers.[name:istio-proxy].ports einfach
...
- containerPort: 8443
hostPort: 443
protocol: TCP
...
nutzt.
Tada - Istio nativ auf Port 443.