BOSH组成部分

BOSH-init

创建和更新Director的东西。

CLI

BOSH的操作接口,直接与Director API相互作用。

Director

BOSH的核心组建,控制虚拟机的创建和部署,和控制其他软件和服务的生命周期事件。 通过以下几种方式触发创建任务:

  • 翻译CLI发送过来的命令
  • 预定的备份或者快照任务
  • 如果有必要使虚拟机的实际状态与期望状态保持一致

这些任务一旦创建Director就添加到任务队列中,Worker进程从队列中取任务并执行。

Task Queue

异步的任务队列,Director与worders之间管理任务。存于数据库中。

Workers

取任务并执行的进程。

CPI

Director操纵基础设施的API。创建管理stemcells,虚拟机,disks。屏蔽基础设施的差异。

Health Monitor

通过接收Agents的状态和生命周期事件监控虚拟机的健康状态,如果监视虚拟机到有问题,会发送一个警告(通过notification插件)或者处罚Resurrector.

Resurrector

这个插件自动创建虚拟机(Health monitor指定的丢失或者反应迟钝的)

DNS Server

PowerDNS,提供DNS解析。

persistent data

Database

Director使用Postgres存储期望部署状态。包括stemcells,releases,和deployments。

Blobstore

通过CLI上传的release被插入到Blobstore。当部署release时,编译结果存储进Blobstore。

Agent

每个虚拟机上都有一个代理,监听和执行Director的指令。Agent通过接收Director任务说明书去分配角色任务给虚拟机。 比如,分配一个运行Mysql的任务给虚拟机。 Director发送指令给Agent,指令包含需要哪些安装包和怎么去配置这些安装包。Agent使用这些指令在虚拟机中安装和配置mysql。

Message bus

NATS

Director和Agents之间通过轻量级的消息队列通信。 目的:

  • 执行需要的指令
  • 通知监护程序健康状态改变

    Registry

    当Director创建或者更新虚拟机时,Registry存储配置信息。so that it can be used during bootstrapping stage of the VM

    组建相互作用示例

    创建虚拟机

  • 操作者执行一个动作,需要创建一个虚拟机
  • CLI传递指令给Director
  • Director使用CPI告诉IaaS分配一个虚拟机。
  • IaaS提供给Director一些信息(IP地址和IDs)虚拟机中的Agent需要去配置虚拟机。
  • Director更新Registry中的配置信息。
  • Agent在Registry中取配置信息
  • Registry回应配置信息 IP地址和IDs。
  • Agent使用IP和IDs去配置VM

results matching ""

    No results matching ""