sql >> Database teknologi >  >> NoSQL >> Redis

Midlertidig fejl i navneopløsning redis

Det, der sker, er, at du eksponerer din Redis-instans med en NodePort. Kubernetes reserverer et meget specifikt udvalg af højtnummererede netværksporte til NodePorts for at undgå at komme i konflikt med almindeligt brugte porte som 22 eller, i dette tilfælde, 6379 som Redis.

Når du kørte kubectl get svc tjenesten, der blev returneret, angiver, at Redis bliver port-viderestillet til værten på port 32649 . Derfor bør du, når du udfører dit forbindelsesforsøg mod Redis, bruge denne port i stedet for 6379. (Sørg også for, at din firewall og netværkstopologi også er korrekt konfigureret).

Så hvor går vi hen herfra? Nå, det er svært for mig at sige. Jeg mangler information til at fortælle, hvor din klientforbindelse stammer fra, og hvor din klynge kører. I tilfælde af, at din klient er i din klynge (AKA en anden Pod), bør du overveje at klargøre en ClusterIP-tjeneste i stedet for en NodePort-tjeneste.

I det tilfælde, hvor din klient er ekstern i forhold til din klynge, er mit råd til dig at undersøge, hvordan du kan levere LoadBalancer-tjenestetyper og Ingress-ressourcer i Kubernetes.

Dette giver dig mulighed for at spinne dedikerede IP'er op. Hvorfra du kan betjene din applikation på enhver port, værtsnavn eller undermappe uden problemer. For at gøre det skal du dog have både en LoadBalancer og Ingress Controller installeret, da Kubernetes API-serveren ikke leveres med nogen af ​​dem.

Hvis du bruger en cloud-udbyder, er det sandsynligt, at du allerede har en LoadBalancer-controller. Bare anmod om en og derefter kubectl get svc og se, om det nogensinde går videre fra den ventende tilstand. Hvis du opererer på bart metal, kan du bruge en fysisk load balancer som en F5 Big IP. Eller du kan bruge en Virtual Load Balancer-controller som MetalLB.

To populære Ingress-controllere er NGINX og Istio. NGINX-controlleren beskæftiger sig udelukkende med indgangsstyring, mens Istio beskæftiger sig med det samt meget konfigurerbare netværk og forbedret sikkerhed.

Sig til, hvis du har brug for yderligere information eller hjælp med dette spørgsmål. Altid glad for at hjælpe!



  1. Google Cloud Platform - Kan ikke oprette forbindelse til mongodb

  2. DeprecationWarning:Lytte til begivenheder på Db-klassen er blevet forældet og vil blive fjernet i den næste større version

  3. MongoDB indlejret ELLER/OG Hvor?

  4. MongoDB-forespørgsel med en 'eller'-betingelse