如何安装与配置consul

2022年 10月 17日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

如何安装和配置consul?很多新手对此不是很清楚。为了帮助您解决这个问题,本站将在下面向您详细解释。有这方面需求的人可以借鉴一下,希望你能有所收获。

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

consul提供的一些关键特性:

服务发现:consul通过DNS或HTTP接口使服务注册和服务发现变得容易,一些外部服务,如saas,也可以注册。

运行状况检查:运行状况检查使consul能够快速提醒集群中的操作。服务发现可以防止服务转发到失败的服务。

键值存储:存储动态配置的系统。提供一个简单的HTTP接口,可以在任何地方操作。

多数据中心:它可以支持任意数量的区域(数据中心),无需复杂的配置。

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

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

领事最新版本的下载地址

https://releases . hashicorp.com/consult/0 . 6 . 4/consult _ 0 . 6 . 4 _ Linux _ amd64 . zip

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

[root @ localhost领事-0 . 6 . 4]#领事

usage : consult[-version][-help]命令[args]

Availablecommandsare:

agentRunsaConsulagent

configtestValidateconfigfile

eventFireanewevent

execExecutesacommandonConsulnodes节点

force-leave force samember of clusters进入“左”状态

操作员信息提供调试信息

jointellconsulagent to joincluster

密钥生成新加密密钥

密钥管理器密钥

leavegracefullyleavetheconsultlusterandshutsdown

lockExecuteacommandholdingalock

maintControlsnodeorservicemaintenancemode维护模式

消费者集群成员列表

monitor streamlogsfomaconsulagent

重新加载触发代理加载配置文件

节点之间的RTTestMatesNetworkRoundTriptime

版本打印版本

其中,最常用的命令是代理

输入consultagent-h查看帮助。常见参数解释如下:

-广告:通知呈现地址用于更改我们呈现给集群中其他节点的地址。通常,-bind地址是演示地址

-bootstrap:用于控制服务器是否处于bootstrap模式。数据中心中只有一台服务器处于引导模式。当服务器处于引导模式时,它可以自己被选为raft领导者。

-bootstrap-expect:数据中心中预期提供的服务器节点数。当提供该值时,consul将不会引导整个集群,直到达到指定的服务器数量。此标志不能与引导共享

-绑定:该地址用于集群内的通信。集群中的所有节点都必须可以到达该地址,默认值为0.0.0.0。

-客户端:咨询绑定到哪个客户端地址,该地址提供HTTP、DNS、RPC等服务,默认为127.0.0.1

-config-file:显式指定要加载哪个配置文件

-config-dir:配置文件目录,所有文件都以。json将被加载

-data-dir:提供用于存储代理状态的目录,这是所有代理权限所必需的。该目录必须稳定,并在系统重新启动后继续存在。

-dc:该标志控制代理允许的数据中心名称,默认值为dc1

-encrypt:指定密钥,以便consul在通信时可以加密,密钥可以由consulkygen生成,consulkygen在同一个集群中

节点必须使用相同的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  mkdirdata  consulagent-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  mkdirdata  consulagent-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  mkdirdata  consulagent-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@localhostconsul-0.6.4]#consulmembers-rpc-addr=192.168.1.100:8400  NodeAddressStatusTypeBuildProtocolDC  192.168.1.101192.168.1.101:8301aliveclient0.6.42dc1  192.168.1.102192.168.1.102:8301aliveclient0.6.42dc1  192.168.1.100192.168.1.100:8301aliveserver0.6.42dc1

关闭节点

consulleave-rpc-addr=192.168.1.100:8400

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: