簡體   English   中英

Docker Swarm Redis和Sentinel與主 - 從復制IP解析客戶端故障

[英]Docker Swarm Redis and Sentinel with master - slave replication IP resolution client failure

我遇到了一個問題,我不知道如何解決這個問題。 我的redis sentinel生態系統如下:

3個標記集群 - >使用docker-compose管理1個主服務器和2個從服務器

我為生態系統創建了一個docker overlay網絡,並使用docker stack deploy來運行docker compose yml。 每個節點上的redis-cli顯示正確的INFO配置。 但是外部客戶端遇到了問題。

當我向客戶端應用程序提供sentinel地址時(在我的情況下,它是一個spring redis應用程序)我獲得了主機redis的覆蓋網絡的內部IP地址。 這是客戶無法識別的,它失敗了。 如何獲取可在外部解析的IP地址? 其次是甚至可能,因為docker swarm管理覆蓋網絡上的IP地址。 這是正確的方法,即使用docker swarm? 任何反饋將不勝感激。

version: '3'

services:
  redis-master:
    image: redis:latest
    volumes:
      - "/docker-service-data/master:/data"
      - /redis-docker/redis.conf:/etc/redis.conf
    command: redis-server /etc/redis.conf
    ports:
      - 6379:6379
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
    networks:
       - rev_proxy
  redis-slave:
    image: redis:latest
    volumes:
      - "/docker-service-data/slave:/data"
      - /redis-docker/redis.conf:/etc/redis.conf
    command: redis-server /etc/redis.conf --slaveof redis-master 6379 
    deploy:
      mode: replicated
      replicas: 2
      placement:
        constraints: [node.role == worker]
    networks:
       - rev_proxy
  sentinel_1:
    image: <private-registry>/redis-sentinel:1
    deploy:
      mode: replicated
      replicas: 3
    ports:
      - 26379:26379
    depends_on:
      - redis-master
    networks:
      - rev_proxy
networks:
  rev_proxy:
     external:
       name: rev_proxy_net

redis.conf:

我已經注釋了bind語句,以便副本偵聽所有接口保護模式為no此時沒有身份驗證。

sentinel.conf:

sentinel monitor master redis-master 6379 2
sentinel down-after-milliseconds master 1000
sentinel parallel-syncs master 1
sentinel failover-timeout master 1000

您可能需要version: '3.3'endpoint_mode: vip選項。 請參閱此鏈接, https://docs.docker.com/compose/compose-file/#endpoint_mode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM