我目前正在尝试在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地址,7777
是garden-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 | 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的完整作业列表:
Director本身在另一台机器上运行。如果没有Warden CPI,两台机器可以按预期进行通信。
有人能指出我如何配置Warden CPI以便它按预期连接到Vagrant Box吗?
答案 0 :(得分:1)
这个问题已经很老了,它是一个BOSH v1 CLI,而现在BOSH v2是一个已建立的标准,很早以前就不赞成使用Garden Linux,而推荐使用Garden runC,但是仍然对BOSH-Lite进行了很多试验,我想回答这个。
首先,一个语义说明:您不应说“ ”,而应说“ ”,因为BOSH主管只是指示一些基础的(基于API的)基础结构做某事,最终使它运行一些工作负载。
第二,您可能会遇到两个障碍:
主要的问题是Warden CPI与两者和Garden后端和进行本地对话,以在这些Garden容器周围设置各种东西。直接的结果是,您不能在BOSH-Lite容器中运行Warden CPI。
所使用的文件系统(在这里是久违的Garden Linux,但是如今问题与Garden runC相似)可能无法在由预先存在的Warden CPI管理的Garden容器中工作。
总而言之,然后要意识到的主要一点是,Warden CPI不仅通过某些REST API与Garden后端进行对话的想法。不仅如此,Warden CPI需要与运行Garden的Linux内核位于同一位置,以便进行系统调用并运行本地命令以装入持久性存储和其他内容。