• 使用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,仅对内提供服务)

  • 相关阅读:
    netcore3.0使用Session
    docker redis使用
    协变和逆变
    HashTable、Dictionary、ConcurrentDictionary三者区别
    设计模式-行为型-解释器模式
    设计模式-行为型-备忘录模式
    jq实现批量全选与反选
    call()和apply()的用法及区别,看这个例子就明白了
    谈谈对闭包的理解
    export,import和export default的区别
  • 原文地址:https://www.cnblogs.com/wugang/p/16359317.html
Copyright © 2020-2023  润新知