【问题标题】:How can I deploy a BOSH Director on BOSH Lite如何在 BOSH Lite 上部署 BOSH Director
【发布时间】:2016-12-23 15:15:36
【问题描述】:

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

在我添加 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:45 秒后将“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 |
+----------------------------------------------------------+---------+-----+---------+--------------+

但是当我 ssh 进入bosh-components VM 时,/var/vcap/jobs 中没有作业。

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

  • 纳特
  • postgres
  • 注册表
  • blobstore

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

谁能告诉我我必须如何配置 Warden CPI 才能按预期连接到 Vagrant Box?

【问题讨论】:

  • 在 BOSH-Lite 中,director 仅限于一个用户,您可以尝试在另一个用户中安装 director。让我知道结果

标签: vagrant warden cf-bosh


【解决方案1】:

这个问题很老了,它是一个 BOSH v1 CLI,而现在 BOSH v2 是一个既定标准,Garden Linux 很久以前就被弃用了,取而代之的是 Garden runC,但仍然对 BOSH-Lite 进行了很多实验,我想回答这个问题。

首先,语义上的说明:您不应该说“on top of that”,而是“按照指示”,因为 BOSH Director 只是指示一些底层(基于 API)的基础设施做某事,最终使其运行一些工作负载。

其次,您可能会遇到两个障碍:

  1. 主要问题是 Warden CPI 与 Garden 后端 本地 Linux 内核进行对话,以围绕这些 Garden 容器设置各种东西。直接后果是,您无法在 BOSH-Lite 容器中运行 Warden CPI。

  2. 使用的文件系统(这里是由早已不复存在的 Garden Linux,但现在问题与 Garden runC 类似)可能无法在 Garden 容器中运行,由预先存在的 Warden CPI 管理。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多