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. win8设置开机启动项

    c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

  2. wxWidgets:给窗口添加工具条

    请先看上一篇<wxWidgets入门>. 修改MyFrame.h: #ifndef MYFRAME_H #define MYFRAME_H #include <wx/wxprec.h ...

  3. 知识点查缺补漏贴03:单机最大进程数,线程数和Socket连接数

    前言: 参加Unix/Linux相关高级研发职位时,是否经常会被文档,单机允许最大进程数.线程数和Socket连接数,而你却感到束手无措呢?本文给你一个最为详细的答案. 一.最大进程数 运行Linux ...

  4. 创建一个包括菜单栏,工具栏,状态栏,文本编辑部件的经典GUI应用程序的骨架

    效果如下: 代码如下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ This program creates a ske ...

  5. Bootstrap-CSS:概况

    ylbtech-Bootstrap-CSS:概况 1.返回顶部 1. Bootstrap CSS 概览 在这一章中,我们将讲解 Bootstrap 底层结构的关键部分,包括我们让 web 开发变得更好 ...

  6. mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)

    当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12',' ...

  7. TACACS+简单说明

    1 TACACS+概述 1.1 什么是TACACS+ TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议)是在 ...

  8. 新手搭建 nginx + php (LNMP)

    配置源 纯净的Centos 6.5系统 配置163yum源 (这个比较简单,百度能解决很多问题) 开始 安装  开发软件包:yum  -y groupinstall  "Developmen ...

  9. CentOS修改TimeZone

    查看: date -R +0800   修改: sudo rm -rf /etc/localtime sudo cp /usr/share/zoneinfo/America/Los_Angeles / ...

  10. PHP使用mysqli扩展连接MySQL数据库

    这篇文章主要介绍了PHP使用mysqli扩展连接MySQL数据库,需要的朋友可以参考下 1.面向对象的使用方式 $db = new mysqli('localhost', 'root', '12345 ...