Nomad Consul搭建集群

1.安装Nomad和Consul

或者直接下载二进制文件放在/usr/bin下。

https://www.nomadproject.io/downloads

https://www.consul.io/downloads

2.准备虚拟机

两台为例:

虚拟机1 IP地址:192.168.60.10

虚拟机2 IP地址:192.168.60.11

3.Consul在所有的Nomad client机器上启动agent

由于两台虚拟机将会都包含Nomad server和Nomad client,所以直接让它们分别执行:

虚拟机1:

sudo consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=node1 -bind=192.168.60.10 -ui -client 0.0.0.0

虚拟机2:

sudo consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=node2 -bind=192.168.60.11 -ui -client 0.0.0.0 -join 192.168.60.10

其中-bootstrap-expect 2可以设置虚拟机数量,-node=nodex 这里的结点名字要不一样

consul members查看结果:

$ consul members  
Node   Address            Status  Type    Build   Protocol  DC   Segment
node1  192.168.60.10:8301  alive   server  1.10.1  2         dc1  <all>
node2  192.168.60.11:8301  alive   server  1.10.1  2         dc1  <all>

4.Nomad启动agent

两台虚拟机分别创建/etc/nomad.d/nomad_test.hcl:

datacenter = "dc1"
data_dir = "/home/xxx/nomad/data"  #自己修改路径

server {
  enabled = true
  bootstrap_expect = 2

  server_join {
    retry_join = ["192.168.60.10:4648","192.168.60.11:4648"]
  }
}

client {
  enabled = true
  servers = ["192.168.60.10:4647"] #虚拟机1为此值,虚拟机2192.168.60.11:4647
}

两台虚拟机分别执行sudo nomad agent -config /etc/nomad.d启动agent。

nomad的node名字会默认为主机名,即终端命令行@后面的字符串,它们在一个集群里不能重复,修改主机名参考ubuntu改变@后面的主机名,即修改/etc/hosts里的127.0.1.1 xxx,和/etc/hostname的内容,重启。

浏览器进入http://192.168.60.10:8500/ui/#/dc1/services图形界面查看状态。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐