2

我目前正在尝试在 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                                                       | 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虚拟机时,/var/vcap/jobs.

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

  • nats
  • postgres
  • 登记处
  • blobstore

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

谁能向我指出我必须如何配置 Warden CPI 以便它按预期连接到 Vagrant Box?

4

1 回答 1

1

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

首先,语义上的说明:你不应该说“<em>on top of that”,而应该说“<em>asinstructed by”,因为 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 内核位于同一位置,以便进行系统调用和运行本地命令以安装持久存储和其他内容。

于 2019-10-07T22:25:03.873 回答