consul命令行查看服务_Consul 命令行最全文档

1.启动一个带ACL 控制的Agent

首先,从这个网址下载consul,解压后发现就是个可执行文件,如果不可以执行,chmod +x consul 一下。

为了试验Consul较多的功能,这里我们打算启用一个dev模式,带ACL控制的Consul代理。

配置文件config.json如下

{

"datacenter":"dc1",

"primary_datacenter":"dc1",

"data_dir":"/opt/consul/data/",

"enable_script_checks":false,

"bind_addr":"127.0.0.1",

"node_name":"consul-dev",

"enable_local_script_checks":true,

"log_file":"/opt/consul/log/",

"log_level":"info",

"log_rotate_bytes":100000000,

"log_rotate_duration":"24h",

"encrypt":"krCysDJnrQ8dtA7AbJav8g==",

"acl":{

"enabled":true,

"default_policy":"deny",

"enable_token_persistence":true,

"tokens":{

"master":"cd76a0f7-5535-40cc-8696-073462acc6c7"

}

}

}

下面是参数说明:

datacenter 此标志表示代理运行的数据中心。如果未提供,则默认为“dc1”。 Consul拥有对多个数据中心的一流支持,但它依赖于正确的配置。同一数据中心中的节点应在同一个局域网内。

primary_datacenter: 这指定了对ACL信息具有权威性的数据中心。必须提供它才能启用ACL。

bind_addr: 内部群集通信绑定的地址。这是群集中所有其他节点都应该可以访问的IP地址。默认情况下,这是“0.0.0.0”,这意味着Consul将绑定到本地计算机上的所有地址,并将第一个可用的私有IPv4地址通告给群集的其余部分。如果有多个私有IPv4地址可用,Consul将在启动时退出并显示错误。如果指定“[::]”,Consul将通告第一个可用的公共IPv6地址。如果有多个可用的公共IPv6地址,Consul将在启动时退出并显示错误。 Consul同时使用TCP和UDP,并且两者使用相同的端口。如果您有防火墙,请务必同时允许这两种协议。

advertise_addr: 更改我们向群集中其他节点通告的地址。默认情况下,会使用-bind参数指定的地址.

server: 是否是server agent节点。

connect.enabled: 是否启动Consul Connect,这里是启用的。

node_name:节点名称。

data_dir: agent存储状态的目录。

enable_script_checks: 是否在此代理上启用执行脚本的健康检查。有安全漏洞,默认值就是false,这里单独提示下。

enable_local_script_checks: 与enable_script_checks类似,但只有在本地配置文件中定义它们时才启用它们。仍然不允许在HTTP API注册中定义的脚本检查。

log-file: 将所有Consul Agent日志消息重定向到文件。这里指定的是/opt/consul/log/目录。

log_rotate_bytes:指定在需要轮换之前应写入日志的字节数。除非指定,否则可以写入日志文件的字节数没有限制

log_rotate_duration:指定在需要旋转日志之前应写入日志的最长持续时间。除非另有说明,否则日志会每天轮换(24小时。单位可以是"ns", "us" (or "µs"), "ms", "s", "m", "h", 比如设置值为24h

encrypt:用于加密Consul Gossip 协议交换的数据。在启动各个server之前,配置成同一个UUID值就行,或者你用命令行consul keygen 命令来生成也可以。

acl.enabled: 是否启用acl.

acl.default_policy: “allow”或“deny”; 默认为“allow”,但这将在未来的主要版本中更改。当没有匹配规则时,默认策略控制令牌的行为。在“allow”模式下,ACL是黑名单:允许任何未明确禁止的操作。在“deny”模式下,ACL是白名单:阻止任何未明确允许的操作.

acl.enable_token_persistence: 可能值为true或者false。值为true时,API使用的令牌集合将被保存到磁盘,并且当代理重新启动时会重新加载。

acl.tokens.master: 具有全局管理的权限,也就是最大的权限。它允许操作员使用众所周知的令牌密钥ID来引导ACL系统。需要在所有的server agent上设置同一个值,可以设置为一个随机的UUID。这个值权限最大,注意保管好。

接着我们以dev模式启动agent。

./consul agent -dev -config-file ./config.json

启动完之后,你会发现出现下面的错误

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值