consul 微服务 python_微服务管理--Consul启动

本文介绍了如何在Python环境中启动Consul微服务。通过执行`consul agent -dev`命令,可以启动Consul的开发模式。启动后,Consul作为一个健康的server节点运行在dc1数据中心,提供DNS和HTTP服务,并可以通过浏览器UI进行访问。要停止服务,只需在终端中发送中断信号(ctrl + c)。
摘要由CSDN通过智能技术生成

启动Consul

安装配置好Consul以后,我们可以通过简单的命令启动consul。先来看最简单的启动方式:

consul agent -dev

在新终端中,执行如上操作。

hongweiyu@localhost:~$ consul agent -dev

==> Starting Consul agent...

==> Consul agent running!

Version: 'v1.5.1'

Node ID: '808644da-c526-efa2-4f37-fff96168dcd1'

Node name: 'localhost'

Datacenter: 'dc1' (Segment: '')

Server: true (Bootstrap: false)

Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: 8502, DNS: 8600)

Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)

Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false

==> Log data will now stream in as it occurs:

2019/06/17 15:36:18 [DEBUG] agent: Using random ID "808644da-c526-efa2-4f37-fff96168dcd1" as node ID

2019/06/17 15:36:18 [DEBUG] tlsutil: Update with version 1

2019/06/17 15:36:18 [DEBUG] tlsutil: OutgoingRPCWrapper with version 1

2019/06/17 15:36:18 [DEBUG] tlsutil: IncomingRPCConfig with version 1

2019/06/17 15:36:18 [DEBUG] tlsutil: OutgoingRPCWrapper with version 1

2019/06/17 15:36:18 [INFO] raft: Initial configuration (index=1): [{Suffrage:Voter ID:808644da-c526-efa2-4f37-fff96168dcd1 Address:127.0.0.1:8300}]

2019/06/17 15:36:18 [INFO] raft: Node at 127.0.0.1:8300 [Follower] entering Follower state (Leader: "")

2019/06/17 15:36:18 [INFO] serf: EventMemberJoin: localhost.dc1 127.0.0.1

2019/06/17 15:36:18 [INFO] serf: EventMemberJoin: localhost 127.0.0.1

2019/06/17 15:36:18 [INFO] consul: Handled member-join event for server "localhost.dc1" in area "wan"

2019/06/17 15:36:18 [INFO] consul: Adding LAN server localhost (Addr: tcp/127.0.0.1:8300) (DC: dc1)

2019/06/17 15:36:18 [DEBUG] agent/proxy: managed Connect proxy manager started

2019/06/17 15:36:18 [INFO] agent: Started DNS server 127.0.0.1:8600 (tcp)

2019/06/17 15:36:18 [INFO] agent: Started DNS server 127.0.0.1:8600 (udp)

2019/06/17 15:36:18 [INFO] agent: Started HTTP server on 127.0.0.1:8500 (tcp)

2019/06/17 15:36:18 [INFO] agent: started state syncer

2019/06/17 15:36:18 [INFO] agent: Started gRPC server on 127.0.0.1:8502 (tcp)

2019/06/17 15:36:18 [WARN] raft: Heartbeat timeout from "" reached, starting election

2019/06/17 15:36:18 [INFO] raft: Node at 127.0.0.1:8300 [Candidate] entering Candidate state in term 2

2019/06/17 15:36:18 [DEBUG] raft: Votes needed: 1

2019/06/17 15:36:18 [DEBUG] raft: Vote granted from 808644da-c526-efa2-4f37-fff96168dcd1 in term 2. Tally: 1

2019/06/17 15:36:18 [INFO] raft: Election won. Tally: 1

2019/06/17 15:36:18 [INFO] raft: Node at 127.0.0.1:8300 [Leader] entering Leader state

2019/06/17 15:36:18 [INFO] consul: cluster leadership acquired

2019/06/17 15:36:18 [INFO] consul: New leader elected: localhost

2019/06/17 15:36:18 [INFO] connect: initialized primary datacenter CA with provider "consul"

2019/06/17 15:36:18 [DEBUG] consul: Skipping self join check for "localhost" since the cluster is too small

2019/06/17 15:36:18 [INFO] consul: member 'localhost' joined, marking health alive

2019/06/17 15:36:18 [DEBUG] agent: Skipping remote check "serfHealth" since it is managed automatically

2019/06/17 15:36:18 [INFO] agent: Synced node info

2019/06/17 15:36:18 [DEBUG] agent: Node info in sync

2019/06/17 15:36:18 [DEBUG] agent: Skipping remote check "serfHealth" since it is managed automatically

2019/06/17 15:36:18 [DEBUG] agent: Node info in sync

2019/06/17 15:37:18 [DEBUG] consul: Skipping self join check for "localhost" since the cluster is too small

2019/06/17 15:37:49 [DEBUG] agent: Skipping remote check "serfHealth" since it is managed automatically

2019/06/17 15:37:49 [DEBUG] agent: Node info in sync

2019/06/17 15:38:18 [DEBUG] manager: Rebalanced 1 servers, next active server is localhost.dc1 (Addr: tcp/127.0.0.1:8300) (DC: dc1)

2019/06/17 15:38:18 [DEBUG] consul: Skipping self join check for "localhost" since the cluster is too small

上面贴出了Consul启动的输出日志,对日志做如下分析和说明:

-dev:dev是consul多种启动模式的一种,dev是development的缩写,代表的是开发模式,该种启动模式仅仅是为了快速便捷的启动单节点consul,比如当前环境。

Consul agent running!:表示该consul节点正常运行起来。

Datacenter:'dc1' 表示当前节点所属的数据中心的名称为dc1。

Server:true(bootstrap:false) 表示该节点属于Server角色。Consul节点统称为agent,有两类:Client、Server。

raft: Heartbeat timeout from "" reached, starting election Raft算法开始进行Leader节点选举。

consul: cluster leadership acquired、consul: New leader elected: localhost Leader节点选举结束,本地唯一的节点被选举为leader节点。

consul: member 'localhost' joined, marking health alive 目前localhost节点是一个健康正常的节点

查看consul节点信息

在consul启动后,可以通过命令查看节点的信息。在原有已经启动consul的终端窗口之外,重新开启新的终端窗口,执行如下命令:

consul members

Node Address Status Type Build Protocol DC Segment

localhost 127.0.0.1:8301 alive server 1.5.1 2 dc1

输出日志说明:

Address:节点地址

Status:alive表示节点健康运行

Type:节点的类型,有两种:server、client

DC:Datacenter的缩写,dc1表示该节点属于Datacenter1

UI界面访问

终端命令行下启动consul的dev模式后,通过members命令查看节点信息,除此以外,还可以使用Http的浏览器访问的模式,查看节点信息。consul启动,正常运行后,打开浏览器,在地址栏中键入:。可以查看节点信息,如下图:

停止服务

在节点运行终端中执行:ctrl + c,表示退出节点运行。

2019/06/17 16:21:43 [INFO] agent: Caught signal: interrupt

2019/06/17 16:21:43 [INFO] agent: Graceful shutdown disabled. Exiting

2019/06/17 16:21:43 [INFO] agent: Requesting shutdown

2019/06/17 16:21:43 [WARN] agent: dev mode disabled persistence, killing all proxies since we can't recover them

2019/06/17 16:21:43 [DEBUG] agent/proxy: Stopping managed Connect proxy manager

2019/06/17 16:21:43 [INFO] consul: shutting down server

2019/06/17 16:21:43 [WARN] serf: Shutdown without a Leave

2019/06/17 16:21:43 [WARN] serf: Shutdown without a Leave

2019/06/17 16:21:43 [INFO] manager: shutting down

2019/06/17 16:21:43 [INFO] agent: consul server down

2019/06/17 16:21:43 [INFO] agent: shutdown complete

2019/06/17 16:21:43 [INFO] agent: Stopping DNS server 127.0.0.1:8600 (tcp)

2019/06/17 16:21:43 [INFO] agent: Stopping DNS server 127.0.0.1:8600 (udp)

2019/06/17 16:21:43 [INFO] agent: Stopping HTTP server 127.0.0.1:8500 (tcp)

2019/06/17 16:21:43 [INFO] agent: Waiting for endpoints to shut down

2019/06/17 16:21:43 [INFO] agent: Endpoints down

2019/06/17 16:21:43 [INFO] agent: Exit code: 1

退出节点运行。

consul dev模式示意图

上诉consul agent -dev模式下的启动与运行consul节点。集群中只包含一个节点,唯一的节点被选举成为Leader节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值