Wat er gebeurt, is dat u uw Redis-instantie blootlegt met een NodePort. Kubernetes reserveert een zeer specifiek bereik van hooggenummerde netwerkpoorten voor NodePorts om conflicten met veelgebruikte poorten zoals 22 of, in dit geval, 6379 zoals Redis, te voorkomen.
Toen je kubectl get svc
. uitvoerde de service die is geretourneerd geeft aan dat Redis wordt doorgestuurd naar de host op poort 32649
. Daarom moet u, wanneer u uw verbindingspoging met Redis uitvoert, deze poort gebruiken in plaats van 6379. (Zorg er ook voor dat uw firewall en netwerktopologie ook correct zijn geconfigureerd).
Dus, waar gaan we heen vanaf hier? Nou, het is moeilijk voor mij om te zeggen. Ik heb geen informatie om zowel te vertellen waar uw clientverbinding vandaan komt als waar uw cluster wordt uitgevoerd. In het geval dat uw client zich binnen uw cluster bevindt (ook bekend als een andere pod), moet u kijken naar het inrichten van een ClusterIP-service in plaats van een NodePort-service.
In het geval dat uw client zich buiten uw cluster bevindt, is mijn advies om te onderzoeken hoe u LoadBalancer-servicetypen en Ingress-resources in Kubernetes kunt inrichten.
Hiermee kunt u speciale IP's laten draaien. Van waaruit u uw applicatie zonder problemen op elke poort, hostnaam of submap kunt bedienen. Om dat te doen, moet u echter zowel een LoadBalancer als een Ingress Controller hebben geïnstalleerd, aangezien de Kubernetes API Server met geen van beide wordt geleverd.
Als u een Cloud Provider gebruikt, heeft u waarschijnlijk al een LoadBalancer Controller. Vraag er gewoon een aan en dan kubectl get svc
en kijk of het ooit verder gaat vanuit de staat In afwachting. Als u op bare metal werkt, kunt u een fysieke load balancer gebruiken, zoals een F5 Big IP. Of u kunt een Virtual Load Balancer-controller zoals MetalLB gebruiken.
Twee populaire Ingress-controllers zijn NGINX en Istio. De NGINX-controller houdt zich uitsluitend bezig met ingress management, terwijl Istio zich daarmee bezighoudt, evenals zeer configureerbare netwerken en verbeterde beveiliging.
Laat het me weten als je meer informatie nodig hebt of hulp bij deze vraag. Altijd blij om te helpen!