Consul

ContainerPilot使用Hashicorp的consul在作为服务的容器中注册工作。 Watches查询consul找出其他服务的状态。

Client configuration

ContainerPilot配置文件中的consul域配置ContainerPilot的Consul客户端。 要使用领事的ACL系统,请使用CONSUL_HTTP_TOKEN环境变量。

如果您正在通过TLS与Consul进行沟通,则可以包含该方案(例如:https:// consul:8500 )。 请注意,一般来说,领事客户端将与本地主机上的代理进行通信,因此TLS可能不是必需的。

如果您需要TLS的额外配置选项,可以使用以下可选字段(或consul文档中描述的环境变量选项),而不是简单的字符串:

consul: {
address: "consul.example.com:8500",
scheme: "https",
token: "aba7cbe5-879b-999a-07cc-2efd9ac0ffe", // or CONSUL_HTTP_TOKEN
tls: {
cafile: "ca.crt", // or CONSUL_CACERT
capath: "ca_certs/", // or CONSUL_CAPATH
clientcert: "client.crt", // or CONSUL_CLIENT_CERT
clientkey: "client.key", // or CONSUL_CLIENT_KEY
servername: "consul.example.com", // or CONSUL_TLS_SERVER_NAME
verify: true, // or CONSUL_HTTP_SSL_VERIFY
}
}

Consul agent configuration

在诸如Joyent的Triton 基础架构容器或虚拟机之类的典型应用程序部署中,最终用户将在每个主机(基础架构容器或VM)上部署Consul代理。 该主机上的所有应用程序将在主机上的本地主机或桥接网络中找到代理。

这在Triton Elastic Docker主机或其他最终用户无法部署主机本地服务的其他容器即服务部署环境中不起作用。 在这种部署中,用户可能会尝试在每个底层主机上部署Consul代理(使用部署API提供的任何主机关联选项),但容器通常不会有一种方法来查找该代理。

在这种情况下,我们建议在每个容器内部署一个Consul代理。 所有进程(包括ContainerPilot)都可以通过localhost与代理进行通信,代理可以通过基础架构支持的DNS(如Triton CNS )找到consul服务器。

Consul客户端的建议配置和Consul代理的job如下,假设环境变量CONSUL代表领事服务器的DNS名称:

consul: "localhost:8500",
jobs: [
{
name: "consul-agent",
exec: [
"consul", "agent",
"-config-file=/etc/consul/consul.json",
"-rejoin",
"-retry-join", "{{ .CONSUL }}",
"-retry-max", "10",
"-retry-interval", "10s"
],
restarts: "unlimited"
}
]
 

Containerpilot 配置文件 之 consul的更多相关文章

  1. Containerpilot 配置文件模板

    { "consul": "{{ .CONSUL }}:8500", "logging": { "level": &quo ...

  2. Containerpilot 配置文件reload

    containerpilot -reload -config ./containerpilot.json 进程号不变,重新加载配置文件

  3. Containerpilot 配置文件 之 Telemetry

    如果提供telemetry选项,ContainerPilot将公开可用于刮擦性能telemetry的Prometheus HTTP客户端界面. telemetry接口被公告为consul服务. tel ...

  4. Containerpilot 配置文件 之 Watches

    watch是在consul进行监视的服务配置. watch轮询服务的状态,并在服务变得健康,变得不健康或者实例数量发生变化时发出事件. 请注意,watch不包括行为; watch只发出事件,以便job ...

  5. Containerpilot 配置文件示例

    { consul: "localhost:8500", logging: { level: "INFO", format: "default" ...

  6. Containerpilot 配置文件 之 Jobs

    ContainerPilot job是用户定义的进程和规则,用于何时执行它,如何进行健康检查,以及如何向Consul做广告. 这些规则旨在允许灵活性覆盖几乎可能要运行的任何类型的进程. 一些可能的jo ...

  7. 服务发现 consul cluster 的搭建【转】

    consul cluster setup 介绍和指南: consul用于服务发现.当底层服务发生变化时,能及时更新正确的mysql服务IP. 并提供给业务查询.但需要自行编写脚本,监测数据库状态和切断 ...

  8. 032:基于Consul和MGR的MySQL高可用架构

    目录 一.Consul 1.Consul简介 2.准备环境 3.Consul 安装 4.Consul配置文件 5.Consul 服务检查脚本 6.Consul启动 二.MGR搭建 1.MGR配置 2. ...

  9. .net core Ocelot Consul 实现API网关 服务注册 服务发现 负载均衡

    大神张善友 分享过一篇 <.NET Core 在腾讯财付通的企业级应用开发实践>里面就是用.net core 和 Ocelot搭建的可扩展的高性能Api网关. Ocelot(http:// ...

随机推荐

  1. css 填坑常用代码分享[居家实用型]

    原文地址 http://www.cnblogs.com/jikey/p/4233003.html 以下是常用的代码收集,没有任何技术含量,只是填坑的积累.转载请注明出处,谢谢. 一. css 2.x ...

  2. wxWidgets:入门

    0. 介绍 wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI和其它工具.目前的3.0.0版本支持所有版本的Windows.带GTK+或Motif的Unix和M ...

  3. Linux下的一些名词解释

    libffi (以下E文摘自http://www.sourceware.org/libffi/) A Portable Foreign Function Interface Library. Comp ...

  4. supervisord管理进程详解

    supervisord管理进程详解 supervisor配置详解(转) 官网 Linux后台进程管理利器:supervisor supervisor使用详解

  5. 关于安卓苹果手机安装证书抓https的关键步骤

    苹果有关键步骤!!!

  6. php session保存到memcache或者memcached中

    本教程叫你如何将php 的session存储在 memcached中,参考了好多网页,发现错误百出,最后自己还是测试成功了,现在将结果结果分享. 1-)系统环境 : elastix2.4 (cento ...

  7. Java Internet

    网络通信: 网络通信三要素: IP 协议 端口 TCP: 建立连接,发送速度慢 三次握手协议 UDP: 不需要建立连接,发送速度快 安全性低 a) 使用UDP实现数据的发送 1 创建Socket端点实 ...

  8. BPM与ESB

    BPM:业务流程管理  --监控处理流程的轨迹以及处理过程 开源:JBPM 场景: 1.单一系统的协同工作比如审批流程,请假流程 2.多个系统的集成,复用各个子系统,构建新的处理流程(流程的优化与流程 ...

  9. python入门-WHILE循环

    1 使用while循环 current_number= : print(current_number) current_number += 2 让用户选择退出 prompt = "tell ...

  10. 关于THINKPHP5模型关联的初步理解

    初步理解的意思是,使用最常用的关联模型,然后可以正常运行 还是打个比方 文章表  和文章分类表 一个文章分类可以有多个文章  所以  文章分类模型和文章建立 hasMany的关联 而文章和文章分类表则 ...