• Consul初探-从安装到运行


     

    前言

    伟大领袖毛主席说过:实践是检验真理的唯一标准!经过上一篇的学习,我基本掌握了 Consul 的基本原理,接下来就是动手实践了;Consul 的部署方式分为两种,分别是二进制包和docker方式,这次就以二进制包的方式进行实验吧。

    本次实验使用物料准备:

    1、 Consul 服务器集群 3 台,系统为 Centos7.0

    下载二进制包

    访问 Consul 的官方网站:https://www.consul.io,看懂非常牛逼的一句话,让打造服务网格变简单!然后大大的屏幕上放着两个按钮:Download or Get Started;表示你要么立即开始干要么先学一段,右边就是一个高大上的视频操作介绍,看着就让人热血沸腾;这我哪里能忍,点击下载:https://www.consul.io/downloads.html ,话不多说,打开服务器的 ssh,果断敲下一梭子:

    cd /tmp
    wget https://releases.hashicorp.com/consul/1.5.1/consul_1.5.1_linux_amd64.zip
    unzip consul_1.5.1_linux_amd64.zip -d /usr/local/bin
    

    编辑 /etc/profile 文件,添加环境变量,保存后退出。

    vi /etc/profile
    export CONSUL_HOME=/usr/local/bin/consul
    export PATH=$PATH:CONSUL_HOME
    
    // 使用环境变量配置生效
    source /etc/profile
    

    验证 Consul 安装是否成功,在命令行输入:consul

    consul --version
    

    输出结果:

    看到这个结果,我心里是很安慰的,不过如此嘛,一点都不像其它软件,从下载源码到编译,从安装 gcc 到 gdi+ 的依赖,先跑1万个依赖文件的列表,Consul 也太 easy 了。

    入门必学必记文档

    帮助文档:https://www.consul.io/docs/agent/options.html

    安装好 Consul 后,在启动程序之前,需要掌握一些配置参数,通过掌握这些参数,可以一次性的成功运行 Consul 服务器集群,常用的参数如下:

    参数名称用途
    -server 此标志用于控制代理是运行于服务器/客户端模式,每个 Consul 集群至少有一个服务器,正常情况下不超过5个,使用此标记的服务器参与 Raft一致性算法、选举等事务性工作
    -client 表示 Consul 绑定客户端接口的IP地址,默认值为:127.0.0.1,当你有多块网卡的时候,最好指定IP地址,不要使用默认值
    -bootstrap-expect 预期的服务器集群的数量,整数,如 -bootstrap-expect=3,表示集群服务器数量为3台,设置该参数后,Consul将等待指定数量的服务器全部加入集群可用后,才开始引导集群正式开始工作,此参数必须与 -server 一起使用
    -data-dir 存储数据的目录,该目录在 Consul 程序重启后数据不会丢失,指定此目录时,应确保运行 Consul 程序的用户对该目录具有读写权限
    -node 当前服务器在集群中的名称,该值在整个 Consul 集群中必须唯一,默认值为当前主机名称
    -bind Consul 在当前服务器侦听的地址,如果您有多块网卡,请务必指定一个IP地址(IPv4/IPv6),默认值为:0.0.0.0,也可用使用[::]
    -datacenter 代理服务器运行的数据中心的名称,同一个数据中心中的 Consul 节点必须位于同一个 LAN 网络上
    -ui 启用当前服务器内部的 WebUI 服务器和控制台界面
    -join 该参数指定当前服务器启动时,加入另外一个代理服务器的地址,在默认情况下,如果不指定该参数,则当前代理服务器不会加入任何节点。可以多次指定该参数,以加入多个代理服务器,
    -retry-join 用途和 -join 一致,当第一次加入失败后进行重试,每次加入失败后等待时间为 30秒
    -syslog 指定此标志意味着将记录 syslog,该参数在 Windows 平台不支持

    启动 Consul

    终于来到这一步了,目前我手上有 3 台嗷嗷待哺的 Centos-7.0 服务器,他们的IP地址分别是:

    • 192.168.33.50
    • 192.168.33.51
    • 192.168.33.52

    分别在三台服务器输入以下对应的命令

    // 192.168.33.50
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-1 -client=0.0.0.0 -bind=192.168.33.50 -datacenter=dc1
    
    // 192.168.33.51
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-2 -client=0.0.0.0 -bind=192.168.33.51 -datacenter=dc1 -join 192.168.33.50
    
    // 192.168.33.52
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-3 -client=0.0.0.0 -bind=192.168.33.52 -datacenter=dc1 -join 192.168.33.50
    

      

    上面的命令几乎无法再精简,简单来说,就是指定了 consul(-server) 集群有3台(-bootstrap-expect=3 )服务器(-node),指定当前主机客户端侦听地址为( -client=0.0.0.0 ),因为我有多块网卡,如果不指定,无法运行127.0.0.1。绑定了当前主机的IP地址(-bind),指定了一个数据中心的名称(-datacenter=dc1),后两台服务器在启动的时候加入第一台代理服务器(-join 172.16.1.218),同时指定了启用每台服务器的内置 WebUI 服务器组件(-ui),当三台服务器都正确运行起来以后,Consul 集群将自动选举 leader,自动进行集群事务,无需干预。

    正常启动的服务器应该输出下面的信息

    现在,我尝试通过某台服务器访问 Consul 的 WebUI 控制台,web 控制台默认端口为:8500,查看集群状态,输入地址:

    http://192.168.33.50:8500/
    

    上面的IP地址可以是 3 台 Consul 服务器中的任意一台,打开网页后,转向 Nodes 菜单,可以看到,由 3 台代理服务器组成的集群已成功启动和运行,健康检查都是草原的颜色,非常的健康。

    在网页控制台中,除了了看到 Consul 的服务器集群的信息,还可以对 key/value 、ACL 等进行管理。

    原文 https://www.cnblogs.com/viter/p/11018953.html

  • 相关阅读:
    为什么说2013是PHP年
    wordpress 投稿插件 支持图片上传
    php简易页面内调试技巧
    WordPress中文文档
    百度网盘文件直链
    HOWTO:如何解决安装包在系统“添加/删除”中无法修复或卸载的问题
    InstallShield 2008 终止声明 (EOL)对最终客户意味着什么
    InstallShield 2011新功能试用(10) Express版本
    AdminStudio 9.5 Service Pack 3
    INFO:InstallShield中安装路径变量的区别
  • 原文地址:https://www.cnblogs.com/brady-wang/p/13489342.html
Copyright © 2020-2023  润新知