如何在BOSH Lite上部署BOSH Director

时间:2016-12-23 15:15:36

标签: vagrant warden cf-bosh

我目前正在尝试在BOSH Lite上安装一个BOSH Director - 我很清楚BOSH Lite已经附带了一个Director,但我想测试一个包含Director“的版本”。这是我的设置:

enter image description here

在我添加warden_cpi作业之前,一切正常。我想配置Warden CPI以连接到托管BOSH Lite的虚拟机上运行的Warden,并且仍可供Director使用。所以我试过的是:

releases:
- name: bosh-warden-cpi
  url: https://bosh.io/d/github.com/cppforlife/bosh-warden-cpi-release?v=29
  sha1: 9cc293351744f3892d4a79479cccd3c3b2cf33c7
  version: latest

instance_groups:
- name: bosh-components
  jobs:
  - name: warden_cpi
    release: bosh-warden-cpi
    properties:
      warden_cpi:
        host_ip: 10.254.50.4  # host IP of BOSH Lite Vagrant Box
        warden:
          connect_network: tcp
          connect_address: 10.254.50.4:7777 # again host IP and Port of garden-linux on BOSH Lite Vagrant Box
        agent:
          mbus: nats://user:password@127.0.0.1:4222 
          blobstore:
            provider: dav
            options:
              endpoint: http://127.0.0.1:25250
              user: user
              password: password

其中10.254.50.4是Vagrant Box的IP地址,7777garden-linux的端口。

在部署期间,我从bosh vms

收到此消息
+----------------------------------------------------------+--------------------+-----+---------+--------------+
| VM                                                       | State              | AZ  | VM Type | IPs          |
+----------------------------------------------------------+--------------------+-----+---------+--------------+
| bosh-components/0 (37a1938e-e1df-4650-bec6-460e4bc3916e) | unresponsive agent | n/a | small   |              |
| bosh-director/0 (2bb47ce1-0bba-49aa-b9a3-86e881e91ee9)   | running            | n/a | small   | 10.244.102.2 |
| jumpbox/0 (51c895ae-3563-4561-ba3f-d0174e90c3f4)         | running            | n/a | small   | 10.244.102.4 |
+----------------------------------------------------------+--------------------+-----+---------+--------------+

作为来自bosh deploy的错误消息,我明白了:

错误450002:超时后将“get_state”发送至e1ed3839-ade4-4e12-8f33-6ee6000750d0

发生错误后,我可以看到具有bosh vms

的VM
+----------------------------------------------------------+---------+-----+---------+--------------+
| VM                                                       | State   | AZ  | VM Type | IPs          |
+----------------------------------------------------------+---------+-----+---------+--------------+
| bosh-components/0 (37a1938e-e1df-4650-bec6-460e4bc3916e) | running | n/a | small   | 10.244.102.3 |
| bosh-director/0 (2bb47ce1-0bba-49aa-b9a3-86e881e91ee9)   | failing | n/a | small   | 10.244.102.2 |
| jumpbox/0 (51c895ae-3563-4561-ba3f-d0174e90c3f4)         | running | n/a | small   | 10.244.102.4 |
+----------------------------------------------------------+---------+-----+---------+--------------+

但是当我进入bosh-components虚拟机时,/var/vcap/jobs中没有工作。

当我从作业列表中删除warden_cpi块时,所有内容都按预期运行。我的BOSH组件VM的完整作业列表:

  • NATS
  • postgres的
  • 注册表
  • Blob存储区

Director本身在另一台机器上运行。如果没有Warden CPI,两台机器可以按预期进行通信。

有人能指出我如何配置Warden CPI以便它按预期连接到Vagrant Box吗?

1 个答案:

答案 0 :(得分:1)

这个问题已经很老了,它是一个BOSH v1 CLI,而现在BOSH v2是一个已建立的标准,很早以前就不赞成使用Garden Linux,而推荐使用Garden runC,但是仍然对BOSH-Lite进行了很多试验,我想回答这个。

首先,一个语义说明:您不应说“ ”,而应说“ ”,因为BOSH主管只是指示一些基础的(基于API的)基础结构做某事,最终使它运行一些工作负载。

第二,您可能会遇到两个障碍:

  1. 主要的问题是Warden CPI与两者和Garden后端进行本地对话,以在这些Garden容器周围设置各种东西。直接的结果是,您不能在BOSH-Lite容器中运行Warden CPI。

  2. 所使用的文件系统(在这里是久违的Garden Linux,但是如今问题与Garden runC相似)可能无法在由预先存在的Warden CPI管理的Garden容器中工作。

  3. p>

总而言之,然后要意识到的主要一点是,Warden CPI不仅通过某些REST API与Garden后端进行对话的想法。不仅如此,Warden CPI需要与运行Garden的Linux内核位于同一位置,以便进行系统调用并运行本地命令以装入持久性存储和其他内容。