Consul 安装

Consul 安装

为了演示目的,我们将使用consul agent在开发者模式下使用-dev模式。仅用于本地机器设置,我们将进行单节点consul设置。 请不要在生产环境中使用这个单节点consul集群。 正如Hashicorp在单节点consul集群的情景中已经提到的那样, 数据丢失是不可避免的

安装Consul

可以通过www.consul.io/downloads.html的下载页面安装Consul。

Consul 安装

您可以将二进制包提取到您机器的下载部分。

$ cd Downloads
$ chmod +x consul
$ sudo mv consul /usr/bin/

现在让我们开始使用 consul,使用 -dev 标记。

$ consul agent -dev -data-dir=/tmp/consul

输出结果如下所示:

Consul 安装

现在您可以使用以下命令检查您的领事成员。

$ consul members

输出结果如下所示:

Consul 安装

如果您想将其他节点连接到此节点−

$ consul join <Node 2> <Node 3>

或者,你可以在Node 2和3上运行以下命令 –

$ consul join <Node 1>

使用命令行

Consul的命令行包含多个不同的选项,以下是一些常用选项:

  • agent - 运行Consul代理

  • configtest - 验证配置文件

  • event - 启动新事件

  • exec - 在Consul节点上执行命令

  • force-leave - 强制集群中的成员离开集群

  • info - 提供操作者调试信息

  • join - 使Consul代理加入集群

  • keygen - 生成新的加密密钥

  • keyring - 管理gossip层加密密钥

  • kv - 与键值存储进行交互

  • leave - 以非强制方式离开Consul集群并关闭

  • lock - 执行锁定命令

  • maint - 控制节点或服务的维护模式

  • members - 列出Consul集群的成员

  • monitor - 从Consul代理流式传输日志

  • operator - 为Consul操作者提供一组工具

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

  • rtt - 估算节点之间的往返网络延迟时间

  • snapshot - 保存、还原和检查Consul服务器状态的快照

  • version - 打印当前Consul版本

  • watch - 观察Consul的变化

Consul模板

consul-template提供一个守护进程,该进程查询Consul实例并更新文件系统上指定的模板。consul-template可以选择在更新过程完成时运行任意命令。这个选项帮助我们设置consul集群,而无需手动执行所有操作。

Consul模板将形成在 /tmp/ <file-name>.conf.tmpfl .模板使用 Hashicorp配置语言 (HCL)编写。

您可以从此 页面 下载consul-template。

Consul 安装

通过使用以下命令来尝试一下:

$ ./consul-template -h

输出结果如下所示:

Consul 安装

$ chmod +x consul-template
$ sudo mv consul-template /usr/share/bin/

为了演示目的,我们将使用一个示例配置 nginx 作为我们的服务。您可以在 https://github.com/hashicorp/consul-template/tree/master/examples 上尝试更多演示,或者编写您自己的模板。

$ vim /tmp/nginx.conf.ctmpl

输出结果如下所示:

Consul 安装

配置文件可能类似于 –

{{range services}} {{name := .Name}} {{service := service .Name}}

upstream {{name}} {
   zone upstream-{{name}} 64k;
   {{range service}}server {{.Address}}:{{.Port}} max_fails = 3 fail_timeout = 60
   weight = 1;
   {{else}}server 127.0.0.1:65535; # force a 502{{end}}
} {{end}}

server {
   listen 80 default_server;
   location / {
      root /usr/share/nginx/html/;
      index index.html;
   }
   location /stub_status {
      stub_status;
   }
   {{range services}} {{name := .Name}}
   location /{{name}} {
      proxy_pass http://{{name}};
   }
   {{end}}
}

现在使用Consul模板二进制文件,请运行以下命令 –

$ consul-template \
 -template = "/tmp/nginx.conf.ctmpl:/etc/nginx/conf.d/default.conf"

使用上一个命令,进程已经启动。您以后可以打开另一个终端,并使用以下命令查看完全渲染的nginx.conf文件。

$ cat /etc/nginx/conf.d/default.conf

输出结果如下所示:

Consul 安装

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程