zoukankan      html  css  js  c++  java
  • 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地址分别是:

    • 172.16.1.218
    • 172.16.1.219
    • 172.16.1.220

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

    // 172.16.1.218
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-1 -client=0.0.0.0 -bind=172.16.1.218 -datacenter=dc1
    
    // 172.16.1.219
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-2 -client=0.0.0.0 -bind=172.16.1.219 -datacenter=dc1 -join 172.16.1.218
    
    // 172.16.1.220
    consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-3 -client=0.0.0.0 -bind=172.16.1.220 -datacenter=dc1 -join 172.16.1.218
    

    上面的命令几乎无法再精简,简单来说,就是指定了 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://172.16.1.218:8500
    

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

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

    文章来自 Consul初探-从安装到运行 - Ron.Liang - 博客园 (cnblogs.com)

  • 相关阅读:
    70.BOM
    69.捕获错误try catch
    68.键盘事件
    523. Continuous Subarray Sum
    901. Online Stock Span
    547. Friend Circles
    162. Find Peak Element
    1008. Construct Binary Search Tree from Preorder Traversal
    889. Construct Binary Tree from Preorder and Postorder Traversal
    106. Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/Jerseyblog/p/14902987.html
Copyright © 2011-2022 走看看