• consul-server集群搭建


    1. 环境准备

    10.16.4.59 consul-server-01
    10.16.4.60 consul-server-02
    10.16.4.61 consul-server-03
    

    2. 下载文件和创建目录(3台机器都执行)

    sudo su - bumblebee
    mkdir -p /usr/local/consul/bin /usr/local/consul/conf /data/log/consul /usr/local/consul/conf/server /data/consul /usr/local/tools
    
    cd /usr/local/tools
    wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip
    unzip consul_1.2.1_linux_amd64.zip
    mv /usr/local/tools/consul /usr/local/consul/bin/
    

    3. 配置consul-server.conf(3台机器都执行)

    用的supervise管理程序的启动

    10.16.4.59配置
    注意10.164.59多配置了一个 -client=10.16.4.59,是为了访问consul server的管理页面,配置一个就行
    
    cat /usr/local/supervisor/conf/conf.d/consul-server.conf
    
    [program:consul-server]
    directory=/usr/local/consul
    command=/usr/local/consul/bin/consul agent -server -bootstrap-expect 3 -data-dir /data/consul -bind 0.0.0.0 -node 10.16.4.59 -datacenter test -ui -client=10.16.4.59
    user=bumblebee
    stopsignal=TERM
    stopasgroup=true
    autorestart=true
    startretries = 3
    redirect_stderr=true
    stdout_logfile=/data/log/supervisor/consul.log
    stdout_logfile_maxbytes=500MB
    stdout_logfile_backups=10
    loglevel=info
    ===========================
    10.16.4.60
    cat /usr/local/supervisor/conf/conf.d/consul-server.conf
    
    [program:consul-server]
    directory=/usr/local/consul
    command=/usr/local/consul/bin/consul agent -server -bootstrap-expect 3 -data-dir /data/consul -bind 0.0.0.0 -node 10.16.4.60 -datacenter test -ui 
    user=bumblebee
    stopsignal=TERM
    stopasgroup=true
    autorestart=true
    startretries = 3
    redirect_stderr=true
    stdout_logfile=/data/log/supervisor/consul.log
    stdout_logfile_maxbytes=500MB
    stdout_logfile_backups=10
    loglevel=info
    ==========================
    10.16.4.61
    
    cat /usr/local/supervisor/conf/conf.d/consul-server.conf
    
    [program:consul-server]
    directory=/usr/local/consul
    command=/usr/local/consul/bin/consul agent -server -bootstrap-expect 3 -data-dir /data/consul -bind 0.0.0.0 -node 10.16.4.61 -datacenter test -ui 
    user=bumblebee
    stopsignal=TERM
    stopasgroup=true
    autorestart=true
    startretries = 3
    redirect_stderr=true
    stdout_logfile=/data/log/supervisor/consul.log
    stdout_logfile_maxbytes=500MB
    stdout_logfile_backups=10
    loglevel=info
    

    参数说明:

    • server: 以server身份启动。默认是client
    • bootstrap-expect:集群要求的最少server数量,当低于这个数量,集群即失效。
    • data-dir:data存放的目录,更多信息请参阅consul数据同步机制
    • node:节点id,集群中的每个node必须有一个唯一的名称。默认情况下,Consul使用机器的hostname
    • bind:监听的ip地址。默认绑定0.0.0.0,可以不指定。表示Consul监听的地址,而且它必须能够被集群中的其他节点访问。Consul默认会监听第一个private IP,但最好还是提供一个。生产设备上的服务器通常有好几个网卡,所以指定一个不会出错
    • client: 客户端的ip地址,0.0.0.0是指谁都可以访问(不加这个,下面的ui :8500无法访问)
    • ui: 可以访问UI界面
    • -config-dir指定配置文件夹,Consul会加载其中的所有文件
    • -datacenter 指定数据中心名称,默认是dc1

    4. 启动consul-server(3台机器都执行)

    superctl update
    

    5. 配置3台机器组成consul集群

    随便指定一台机器,然后在剩余2台机器上执行 consul join IP

    consul集群:当一个consul agent启动后,它不知道任何其他节点,要学习到集群中的其他节点,agent必须加入一个已经存在的集群(cluster)。要加入这样的集群,它只需要知道这个集群中的一个节点即可。它加入后,将会和这个member gossip(交谈)并迅速发现集群中的其他节点。一个consul agent可以加入任何类型的其他agent,而不只是那些运行于server mode的agent。

    分别登录第2台和第3台服务器上执行如下命令,让consul加入集群

    /usr/local/consul/bin/consul join 10.16.4.59
    

    6. 访问consul管理页面

    http://10.16.4.59:8050   #建议这里用nginx反向代理下,加个nginx认证
    
  • 相关阅读:
    Apple Swift编程语言入门教程
    网络请求错误
    Mac使用大全
    MPMovieplayerController添加新控件
    ios9 新变化
    UITableView总结
    UINavigationController的简单学习
    HTML
    谓词(NSPredicate)
    NSString字符串
  • 原文地址:https://www.cnblogs.com/uglyliu/p/12825655.html
Copyright © 2020-2023  润新知