• 使用DockerCompose搭建部署Consul集群


    使用DockerCompose搭建4个节点,其中consul_node1、consul_node2、consul_node3为server agent;consul_node4为client agent,开放端口访问conusl ui

    机器准备

    模拟4台机器:

    节点名称 ip:host 说明
    consul_node1 server agent
    consul_node2 server agent
    consul_node3 server agent
    consul_node4 localhost:8500 client agent,开放8500端口访问consul ui
    version: '3'
    networks:
      consul_net:
    
    services:
      consul1:
        image: consul:1.12.2
        container_name: consul_node1
        command: agent -server -bootstrap-expect=3 -node=consul_node1 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
        networks:
          - consul_net
    
      consul2:
        image: consul:1.12.2
        container_name: consul_node2
        command: agent -server -retry-join=consul_node1 -node=consul_node2 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
        depends_on:
            - consul1
        networks:
          - consul_net
    
      consul3:
        image: consul:1.12.2
        container_name: consul_node3
        command: agent -server -retry-join=consul_node1 -node=consul_node3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
        depends_on:
            - consul1
        networks:
          - consul_net
    
      consul4:
        image: consul:1.12.2
        container_name: consul_node4
        command: agent -retry-join=consul_node1 -node=consul_node4 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1 -ui 
        ports:
          - 8500:8500
        depends_on:
            - consul2
            - consul3
        networks:
          - consul_net
    

    dockercompose配置

    networks:consul_net,以便网络共享
    depends_on: 用于容器排序,需要指定的容器进入运行状态,才会启动当前容器。上述配置中consul2和consul3依赖consul1,consul4依赖consul2和consul3。

    consul参数

    -server:表示为server agent
    -node:节点名称
    -bind:集群内通信的ip地址,默认为0.0.0.0
    -datacenter:数据中心名称
    -ui :支持web-ui管理consul节点
    bootstrap-expect=3:数据中心期望的server agent数量,基于Raft算法,server agent数量必须为奇数
    client=0.0.0.0:表示允许公网访问(默认为127.0.0.1,仅对内提供服务)

  • 相关阅读:
    PHP学习路径及练手项目合集
    Java学习路径及练手项目合集
    Pandas 常见的基本方法
    MAC 下配置MQTT 服务器Mosquitto
    MQTT 在 mac 上搭建
    Git学习--版本回退
    Git学习--创建版本库
    js判断是否在微信浏览器中打开
    微信浏览器HTTP_USER_AGENT判断
    XXX.APP已损坏,打不开.你应该将它移到废纸篓
  • 原文地址:https://www.cnblogs.com/wugang/p/16359317.html
Copyright © 2020-2023  润新知