Docker容器——consul群集服务搭建与consul-template

目录

  • 一、consul简介
    • 1.1.1、consul 关键特性
      • 1.1.2、consul 术语
    • 二、consul 端口说明
      • 三、consul服务架构和核心概念
        • 四、案例

一、consul简介

1.1.1、consul 关键特性

  • 服务发现:支持服务发现。你可以通过 DNS 或 HTTP 的方式获取服务信息。
  • 健康检查:支持健康检查。可以提供与给定服务相关联的任何数量的健康检查(如 web 状态码或 cpu 使用率)。
  • K/V 存储:键/值对存储。你可用通过 consul 存储如动态配置之类的相关信息。
  • 多数据中心:支持多数据中心,开箱即用。WEB UI:支持
  • WEB UI。快速了解你的服务现在的运行情况,一目了然。

1.1.2、consul 术语

  • node:节点,需要 consul 注册发现或配置管理的服务器。
  • agent:consul 中的核心程序,它将以守护进程的方式在各个节点运行,有 client 和 server 启动模式。每个 agent
    维护一套服务和注册发现以及健康信息。 client:agent 以 client 模式启动的节点。在该模式下,该节点会采集相关信息,通过
    RPC 的方式向 server 发送。
  • server:agent 以 server 模式启动的节点。一个数据中心中至少包含 1 个 server 节点。不过官方建议使用 3 或
    5 个 server 节点组建成集群,以保证高可用且不失效率。server 节点参与 Raft、维护会员信息、注册服务、健康检查等功能。
  • datacenter:数据中心,私有的,低延迟的和高带宽的网络环境。一般的多个数据中心之间的数据是不会被复制的,但可用过 ACL
    replication 或使用外部工具 onsul-replicate。Consensus,共识协议,使用它来协商选出 leader。
  • Gossip:consul 是建立在 Serf,它提供完整的 gossip protocol,维基百科。LAN Gossip,Lan
    gossip 池,包含位于同一局域网或数据中心上的节点。WAN Gossip,只包含 server 的 WAN Gossip
    池,这些服务器主要位于不同的数据中心,通常通过互联网或广域网进行通信。
  • members:成员,对 consul 成员的称呼。提供会员资格,故障检测和事件广播。有兴趣的朋友可以深入研究下。

二、consul 端口说明

  • TCP/8300 端口用于服务器节点。客户端通过该端口 RPC 协议调用服务端节点。
  • TCP/UDP/8301 端口用于单个数据中心所有节点之间的互相通信,即对 LAN
    池信息的同步。它使得整个数据中心能够自动发现服务器地址,分布式检测节点故障,事件广播(如领导选举事件)。
  • TCP/UDP/8302 端口用于单个或多个数据中心之间的服务器节点的信息同步,即对 WAN
    池信息的同步。它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。
  • 8500 端口基于 HTTP 协议,用于 API 接口或 WEB UI 访问。
  • 8600 端口作为 DNS 服务器,它使得我们可以通过节点名查询节点信息。

三、consul服务架构和核心概念

Docker容器——consul群集服务搭建与consul-template_第1张图片

  • 图中的SERVER是consul服务端高可用集群,CLIENT是consul客户端。
  • 这里存在两个数据中心:DATACENTER1、DATACENTER2。每个数据中心有着 3 到 5 台
    server(该数量使得在故障转移和性能之间达到平衡)。
  • Consul利用两个不同的gossip pool。我们分别把他们称为局域网池(LAN Gossip Pool)或广域网池(WAN
    Gossip Pool)。每个Consul数据中心(Datacenter)都有一个包含所有成员(Server和Client)的LAN
    gossip pool。
四、案例

Consul服务器
Mkdir /root/consul
Docker容器——consul群集服务搭建与consul-template_第2张图片
传入安装包
在这里插入图片描述
解包
Docker容器——consul群集服务搭建与consul-template_第3张图片
Mv consul /usr/local/bin
在这里插入图片描述

consul agent \
-server \
-bootstrap \

你可能感兴趣的:(Docker容器与虚拟化,docker,consul,templates)