跳转到主要内容

consul

//集群模式
consul agent -server -ui \
-bootstrap-expect=3 \
-data-dir=/tmp/consul \
-node=consul-1 \
-client=0.0.0.0 \
-bind=192.168.80.100 \
-datacenter=dc1

consul agent -server -ui \
-bootstrap-expect=3 \
-data-dir=/tmp/consul \
-node=consul-2 \
-client=0.0.0.0 \
-bind=192.168.80.101 \
-datacenter=dc1 \
-join 192.168.80.100


//单机开发模式
consul agent -dev -ui -datacenter=dc1

//单机server 模式
consul agent -server -ui \
-bootstrap \
-data-dir=/usr/local/consul/data \
-node=consul-server \
-client=0.0.0.0 \
-bind=127.0.0.1 \
-datacenter=dc1

//client模式
# 生产级配置示例(consul-client.hcl)
server = false
datacenter = "dc1"
node_name = "client-prod-01"
bind_addr = "192.168.148.131"  # 指定内网 IP
client_addr = "127.0.0.1"    # 限制本地访问
data_dir = "/usr/local/consul/clientdata"  # 持久化数据目录

retry_join = [
  "192.168.148.131",
  "192.168.148.130"
]

# 健康检查配置
check {
  id = "health-check"
  name = "Client Health Status"
  interval = "10s"
  timeout = "1s"
  http = "http://localhost:8500/v1/agent/self"
}




//查看成员
consul members

//检查 Raft 集群状态
consul operator raft list-peers

# 查看节点健康状态
consul catalog nodes -detailed

# 检查是否有警告或错误
consul monitor

参数详解

参数
作用
agent
启动 Consul 代理(核心进程)
-server
服务器模式运行(参与 Raft 协议,存储集群状态)
-ui
启用Web 管理界面(默认端口 8500)
-bootstrap-expect=3
期望集群中有3 个服务器节点,自动完成集群初始化(需至少 3 节点)
-data-dir=/tmp/consul
指定数据存储目录(注意/tmp数据会随重启丢失,生产环境需持久化)
-node=consul-1
当前节点名称(需唯一,如consul-1
-client=0.0.0.0
客户端 API 和 UI 监听地址(0.0.0.0表示允许所有外部访问)
-bind=192.168.80.100
节点间通信绑定的 IP 地址(局域网内可达地址)
-datacenter=dc1
定义数据中心名称(多数据中心部署时需统一)