Как я могу развернуть BOSH Director на BOSH Lite
В настоящее время я пытаюсь установить BOSH Director на BOSH Lite - для меня ясно, что BOSH Lite уже поставляется с Director, но я хотел бы протестировать выпуск, содержащий Director, "поверх этого". Вот моя установка:
Все отлично работает пока не добавлю warden_cpi
работа. Я хотел бы настроить CPI Warden для подключения к Warden, работающему на виртуальной машине с BOSH Lite и доступным для Директора. Итак, что я попробовал, это:
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
это IP-адрес Vagrant Box и 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 через 45 секунд
После появления ошибки я вижу виртуальную машину с 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:
- Nats
- Postgres
- реестр
- Blobstore
Сам директор работает на другой машине. Без CPI Warden эти две машины могут общаться, как и ожидалось.
Кто-нибудь может указать мне, как я должен настроить CPI Warden, чтобы он подключался к Vagrant Box, как ожидалось?
0 ответов
Вопрос очень старый, это интерфейс командной строки BOSH v1, тогда как теперь BOSH v2 является установленным стандартом, Garden Linux давно устарел в пользу Garden runC, но все же, много экспериментировав с BOSH-Lite, я бы хотел бы ответить на этот вопрос.
Во-первых, семантическое замечание: вы не должны говорить "сверх того", а вместо этого "по указанию", потому что BOSH Director просто инструктирует некоторую базовую (основанную на API) инфраструктуру что-то делать, что в конечном итоге заставляет рабочие нагрузки.
Во-вторых, вы можете столкнуться с двумя препятствиями:
Основная проблема заключается в том, что Warden CPI обращается как к бэкэнду Garden, так и к локальному ядру Linux для настройки различных вещей вокруг этих контейнеров Garden. Как прямое следствие, вы не можете запускать CPI Warden внутри контейнера BOSH-Lite.
Используемая файловая система (здесь уже давно ушедший из жизни Garden Linux, но в настоящее время проблема аналогична Garden runC) может не работать внутри контейнера Garden, как это управляется ранее существовавшим Warden CPI.
В общем, главное, о чем нужно знать, - это идея о том, что Warden CPI не только общается с серверной частью Garden через некоторый его REST API. Более того, Warden CPI должен быть совмещен с ядром Linux, которое запускает Garden, чтобы выполнять системные вызовы и запускать локальные команды для монтирования постоянного хранилища и других вещей.