BOSH развертывает такие вещи, как CF, Zookeeper, Kubernetes и т. д., в «облаках», создавая «машины», устанавливая соответствующее программное обеспечение и запуская его на этих «машинах». В «типичном» облаке, таком как Amazon Web Services или VMWare vSphere, «машина» — это обычная виртуальная машина.
BOSH также может рассматривать различные среды выполнения контейнеров, такие как Docker, Kubernetes или Garden, как «облака», а в случае BOSH-Lite он ориентируется на Garden как на облако. Таким образом, в случае BOSH-Lite «машины» на самом деле представляют собой контейнеры Linux, работающие внутри виртуальной машины VirtualBox. Поэтому, когда вы устанавливаете свои сертификаты на уровне ОС виртуальной машины, это не будет применяться к вещам, работающим как контейнеры внутри виртуальной машины.
У BOSH есть собственный способ внедрения доверенных сертификатов в каждую машину, которой он управляет, используя свойство trusted_certs
. Предполагая, что вы выполнили эти документы для установки BOSH-Lite, вы можете обновить команду create-env
из этого :
bosh create-env ~/workspace/bosh-deployment/bosh.yml \
--state ./state.json \
-o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
-o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
-o ~/workspace/bosh-deployment/bosh-lite.yml \
-o ~/workspace/bosh-deployment/bosh-lite-runc.yml \
-o ~/workspace/bosh-deployment/uaa.yml \
-o ~/workspace/bosh-deployment/credhub.yml \
-o ~/workspace/bosh-deployment/jumpbox-user.yml \
--vars-store ./creds.yml \
-v director_name=bosh-lite \
-v internal_ip=192.168.50.6 \
-v internal_gw=192.168.50.1 \
-v internal_cidr=192.168.50.0/24 \
-v outbound_network_name=NatNetwork
к этому:
bosh create-env ~/workspace/bosh-deployment/bosh.yml \
--state ./state.json \
-o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
-o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
-o ~/workspace/bosh-deployment/bosh-lite.yml \
-o ~/workspace/bosh-deployment/bosh-lite-runc.yml \
-o ~/workspace/bosh-deployment/uaa.yml \
-o ~/workspace/bosh-deployment/credhub.yml \
-o ~/workspace/bosh-deployment/jumpbox-user.yml \
-o ~/workspace/bosh-deployment/openstack/trusted-certs.yml \
--vars-store ./creds.yml \
-v director_name=bosh-lite \
-v internal_ip=192.168.50.6 \
-v internal_gw=192.168.50.1 \
-v internal_cidr=192.168.50.0/24 \
-v outbound_network_name=NatNetwork \
--var-file=openstack_ca_cert=</PATH/TO/YOUR/CERT>
Это добавляет две строки:
-o ~/workspace/bosh-deployment/openstack/trusted-certs.yml
--var-file=openstack_ca_cert=</PATH/TO/YOUR/CERT>
Несмотря на то, что там написано openstack
, в этих файлах нет ничего специфичного для OpenStack. Первая строка (с -o
) изменяет базовый манифест для BOSH, чтобы включить раздел для установки свойства director.trusted_certs
, но фактически не устанавливает значение, она параметризует его как переменную с именем openstack_ca_cert
, а вторая строка (с --var-file
) фактически устанавливает значение с содержимым из данного файла.
После того, как вы запустите эту команду, она обновит BOSH-Lite, но не обновит вещи, развернутые BOSH, например. СР. Вам нужно будет повторно запустить команды развертывания для CF, чтобы убедиться, что он выбирает эти доверенные сертификаты.
person
Amit Kumar Gupta
schedule
26.07.2019