0
votes

Connecter le Redis-Sentinel au Master Redis sur Kubernettes

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"   


1 commentaires

Pourriez-vous vérifier si le port 26379 de vos serveurs est ouvert?


3 Réponses :


0
votes

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:

  1. 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.

  2. Vérifiez votre fichier de configuration Sentinel - Sentinel.conf et REDIS Fichier de configuration - redis.conf . 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.

  3. Vous avez besoin d'au moins trois instances Sentinel pour un déploiement robuste.

    Vous pouvez trouver plus d'informations sur certaines des informations ci-dessus ici .

    S'il vous plaît laissez-moi savoir si cela a aidé.


0 commentaires

0
votes

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

kubectl décrire la pod

ou vous pouvez créer un service et utiliser le nom du service comme variable env des Sentinels.


2 commentaires

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.



0
votes

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


0 commentaires