• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > 详解consul的安装和配置

详解consul的安装和配置

作者:西夏一品堂 字体:[增加 减小] 来源:互联网

本文主要包含consul的配置,consul,安装配置等服务器相关知识,西夏一品堂 希望可以进行参考

Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现。支持外部 SaaS 提供者等。

consul提供的一些关键特性:

service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。

health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。

key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。

multi-datacenter:无需复杂的配置,即可支持任意数量的区域(数据中心)。

官方网站:https://www.consul.io/

系统环境:CentOS release 6.5 (Final) x64

consul最新版的下载地址

https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip

下载解压,里面只有一个consul可执行文件,执行

[root@localhost consul-0.6.4]# consul 
usage: consul [--version] [--help] <command> [<args>] 
 
Available commands are: 
  agent     Runs a Consul agent 
  configtest   Validate config file 
  event     Fire a new event 
  exec      Executes a command on Consul nodes 
  force-leave  Forces a member of the cluster to enter the "left" state 
  info      Provides debugging information for operators 
  join      Tell Consul agent to join cluster 
  keygen     Generates a new encryption key 
  keyring    Manages gossip layer encryption keys 
  leave     Gracefully leaves the Consul cluster and shuts down 
  lock      Execute a command holding a lock 
  maint     Controls node or service maintenance mode 
  members    Lists the members of a Consul cluster 
  monitor    Stream logs from a Consul agent 
  reload     Triggers the agent to reload configuration files 
  rtt      Estimates network round trip time between nodes 
  version    Prints the Consul version 
  watch     Watch for changes in Consul 

其中,最常用到的命令是agent

输入consul agent -h 可以查看帮助。其中常见的参数解释如下:

-advertise:通知展现地址用来改变我们给集群中的其他节点展现的地址,一般情况下-bind地址就是展现地址 
-bootstrap:用来控制一个server是否在bootstrap模式,在一个datacenter中只能有一个server处于bootstrap模式,当一个server处于bootstrap模式时,可以自己选举为raft leader。 
-bootstrap-expect:在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap公用 
-bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0 
-client:consul绑定在哪个client地址上,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1 
-config-file:明确的指定要加载哪个配置文件 
-config-dir:配置文件目录,里面所有以.json结尾的文件都会被加载 
-data-dir:提供一个目录用来存放agent的状态,所有的agent允许都需要该目录,该目录必须是稳定的,系统重启后都继续存在 
-dc:该标记控制agent允许的datacenter的名称,默认是dc1 
-encrypt:指定secret key,使consul在通讯时进行加密,key可以通过consul keygen生成,同一个集群中的节点必须使用相同的key 
-join:加入一个已经启动的agent的ip地址,可以多次指定多个agent的地址。如果consul不能加入任何指定的地址中,则agent会启动失败,默认agent启动时不会加入任何节点。 
-retry-join:和join类似,但是允许你在第一次失败后进行尝试。 
-retry-interval:两次join之间的时间间隔,默认是30s 
-retry-max:尝试重复join的次数,默认是0,也就是无限次尝试 
-log-level:consul agent启动后显示的日志信息级别。默认是info,可选:trace、debug、info、warn、err。 
-node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名 
-protocol:consul使用的协议版本 
-rejoin:使consul忽略先前的离开,在再次启动后仍旧尝试加入集群中。 
-server:定义agent运行在server模式,每个集群至少有一个server,建议每个集群的server不要超过5个 
-syslog:开启系统日志功能,只在linux/osx上生效 
-ui-dir: 提供存放web ui资源的路径,该目录必须是可读的 
-pid-file: 提供一个路径来存放pid文件,可以使用该文件进行SIGINT/SIGHUP(关闭/更新)agent 

要想利用consul提供的服务实现服务的注册与发现,我们需要建立consul cluster。

在consul方案中,每个提供服务的节点上都要部署和运行consul的agent,所有运行consul agent节点的集合构成consul cluster。

consul agent有两种运行模式:server和client。这里的server和client只是consul集群层面的区分,与搭建在cluster之上的应用服务无关。

以server模式运行的consul agent节点用于维护consul集群的状态,

官方建议每个consul cluster至少有3个或以上的运行在server mode的agent,client节点不限。

我们这里以安装三个节点为例,环境配置如下

192.168.1.100 以server模式运行

192.168.1.101,192.168.1.102 以client模式运行

一:配置consul

把上面下载的文件解压,并把consul拷贝到/opt/consul目录,然后把/opt/consul目录加入到环境变量(三个节点依次配置)

二:运行

1:在192.168.1.100节点上面进行

cd /opt/consul

mkdir data

consul agent -server -bootstrap -bind=0.0.0.0 -client=192.168.1.100 -data-dir=data -ui -node=192.168.1.100

这样,就启动了一个节点

2:在192.168.1.101节点上面进行

cd /opt/consul

mkdir data

consul agent -bind=0.0.0.0 -client=192.168.1.101 -data-dir=data -node=192.168.1.101 -join=192.168.1.100

3:在192.168.1.102节点上面进行

cd /opt/consul

mkdir data

consul agent -bind=0.0.0.0 -client=192.168.1.102 -data-dir=data -node=192.168.1.102 -join=192.168.1.100

全部节点启动完之后

访问http://192.168.1.100:8500/  即可查看consul集群的管理页面

在任意节点执行consul members 即可查看集群节点信息

这里在192.168.1.100节点执行

[root@localhost consul-0.6.4]# consul members -rpc-addr=192.168.1.100:8400 
Node      Address       Status Type  Build Protocol DC 
192.168.1.101 192.168.1.101:8301 alive  client 0.6.4 2     dc1 
192.168.1.102 192.168.1.102:8301 alive  client 0.6.4 2     dc1 
192.168.1.100 192.168.1.100:8301 alive  server 0.6.4 2     dc1 

关闭节点

consul leave -rpc-addr=192.168.1.100:8400

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • 详解CentOS 7.4下如何部署Asp.Net Core结合consul
  • 详解在Windows下如何使用AspNetCore Api 和consul
  • 详解Spring Cloud Consul 实现服务注册和发现
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解consul的安装和配置

相关文章

  • CentOS 出现no space left on device错误解决办法
  • Docker使用的个人学习总结
  • 详解在docker中制作自己的JDK+tomcat镜像
  • Docker容器通过独立IP暴露给局域网的方法
  • Docker与Golang的巧妙结合
  • docker容器如何优雅的终止详解
  • VMware esxi 5.1安装配置的方法和设置步骤图文教程
  • 轻松安装docker并运行docker swarm模式
  • 在VMware下快速克隆多个Linux环境的方法教程
  • Docker 教程之镜像列出详细介绍

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • docker image删不掉的解决办法
    • Vmware+Centos7搭建Openstack环境(网络配置)
    • VMware12中MS-DOS 7.10安装图文教程
    • Vmware12虚拟机安装教程 Vmware12虚拟机上安装Oracle
    • Docker 教程之获取镜像基础知识详解
    • Docker 技巧之删除Docker容器和镜像
    • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
    • 详解VMware 当中出现:无法将 Ethernet0 连接到虚拟网络"VMnet8"的问题
    • 阿里云CentOS 6.5 安装Docker详细步骤
    • Docker学习笔记之Weave实现跨主机容器互联

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有