J'ai connecté avec succès les réduis-esclaves avec le maître ReDIS sur Kubettes à l'aide du fichier de Manifest .YAML déployé sous forme de pods sur Kubettes.
mais quand j'essaie de connecter le redis-sentinelle à la maîtrise Connexion rejetée "Impossible de se connecter à Redis au 127.0.0.1:26379: Connexion refusée non connectée>" p>
ci-dessous est le fichier manifeste de Redis, Slave et Sentinel Manifest: P>
Redis-Master.YAML p>
apiVersion: apps/v1 kind: Deployment metadata: name: redis-sentinel labels: app: redis role: sentinel tier: backend spec: strategy: type: RollingUpdate replicas: 3 selector: matchLabels: app: redis role: sentinel tier: backend template: metadata: labels: name: redis-sentinel redis-sentinel: "true" app: redis role: sentinel tier: backend spec: containers: - name: sentinel image: gcr.io/google_samples/gb-redisslave:v3 ports: - name: redis-sentinel containerPort: 26379 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" - name: REDIS_REPLICATION_MODE value: sentinel - name: REDIS_MASTER_HOST value: redis-master - name: REDIS_MASTER_PORT_NUMBER value: "6379"
3 Réponses :
Il y a peu de choses que vous devez prendre en compte lors du déploiement de Redis-Sentinel qui peut vous tromper dans votre cas d'utilisation particulière: P>
Vérifiez les règles de pare-feu. Assurez-vous que le port 26379 de vos serveurs est ouvert. Sentinelles Par défaut, exécutez l'écoute des connexions au port TCP 26379. Sinon Sentinels ne peut pas parler et ne peut pas être d'accord sur quoi faire. P> Li>
Vérifiez votre fichier de configuration Sentinel - Vous avez besoin d'au moins Vous pouvez trouver plus d'informations sur certaines des informations ci-dessus ici . P>
S'il vous plaît laissez-moi savoir si cela a aidé. p> Sentinel.conf CODE> et REDIS Fichier de configuration -
redis.conf code>. Il est obligatoire d'utiliser un fichier de configuration lors de l'exécution de Sentinel, car ce fichier sera utilisé par le système afin de sauvegarder l'état actuel qui sera rechargé en cas de redémarrage. Sentinel refusera simplement de démarrer si aucun fichier de configuration n'est donné ou si le chemin du fichier de configuration n'est pas inscriptible. P> LI>
Je suppose simplement que vous essayez de vous connecter à la podage de l'extérieur. Vous vous connectez au 127.0.0.1 qui n'existe pas à l'intérieur de l'environnement Kubettes. Vous devez vous connecter à l'adresse IP de la pod que vous obtenez simplement en cours d'exécution p>
ou vous pouvez créer un service et utiliser le nom du service comme variable env des Sentinels. P> kubectl décrire la pod
code> p>
Je cours dans le même problème. Je reçois l'IP du Master Pod. Mais je ne sais pas comment se connecter à ce pod. Dans notre commentaire, vous avez dit: Ou vous pouvez créer un service et utiliser le nom du service comme variable env en démarrant les sentinelles. Pouvez-vous décrire comment je peux le faire?
Chaque fois que nous créons un service, Kubettes remplit automatiquement certaines variables env, telles que le nom de service et le port. Si vous créez un service avec nom Redis-Master, Kubettes popule ReDIS_MASTER_SERVICE_HOST et REDIS_MASTER_SERVICE_PORT. Utilisez ces variables ENV pour obtenir la propriété intellectuelle et le port du service maître.
Vous ne pouvez pas vous connecter comme ça. Vous devez vérifier les services sur Kubettes. Vous pouvez voir l'adresse IP de Redis Service. Vous devez vous connecter à cette adresse IP p>
Pourriez-vous vérifier si le port 26379 de vos serveurs est ouvert?