Bosh Lite cf-deployment VirtualBox 与 MITM 代理证书
Bosh Lite cf-deployment VirtualBox with MITM Proxy Certificate
我正在尝试通过 VirtualBox bosh-lite VM 在本地部署 CF,但我 运行 进入企业代理,在连接到 Internet 之前注入自签名证书。
我已经通过 SSH 连接到盒子并将 CA 添加到 OS 级别的受信任证书,但我仍然在链中获得不受信任的证书。
有什么地方可以将企业 CA 放入配置中,以便所有项目都能成功下载/安装?
BOSH 通过创建 "machines" 并安装适当的软件并将其 运行 部署到 "clouds"那些 "machines"。在像 Amazon Web Services 或 VMWare vSphere 这样的 "typical" 云上,"machine" 是一个典型的虚拟机。
BOSH 也可以像 Docker、Kubernetes 或 Garden 一样将各种容器 运行times 视为 "clouds",并且在 BOSH-Lite 案例,它将 Garden 定位为云。所以在 BOSH-Lite 的情况下,"machines" 实际上是 Linux 容器 运行 在 VirtualBox VM 中。因此,当您在 VM 的 OS 级别安装证书时,这不适用于 运行ning 作为 VM 中的容器。
BOSH 确实有一种使用 trusted_certs
属性 将可信证书注入其管理的每台机器的本机方法。假设您按照 these docs 安装了 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。您需要重新运行 CF 的部署命令以确保它选择那些受信任的证书。
我正在尝试通过 VirtualBox bosh-lite VM 在本地部署 CF,但我 运行 进入企业代理,在连接到 Internet 之前注入自签名证书。
我已经通过 SSH 连接到盒子并将 CA 添加到 OS 级别的受信任证书,但我仍然在链中获得不受信任的证书。
有什么地方可以将企业 CA 放入配置中,以便所有项目都能成功下载/安装?
BOSH 通过创建 "machines" 并安装适当的软件并将其 运行 部署到 "clouds"那些 "machines"。在像 Amazon Web Services 或 VMWare vSphere 这样的 "typical" 云上,"machine" 是一个典型的虚拟机。
BOSH 也可以像 Docker、Kubernetes 或 Garden 一样将各种容器 运行times 视为 "clouds",并且在 BOSH-Lite 案例,它将 Garden 定位为云。所以在 BOSH-Lite 的情况下,"machines" 实际上是 Linux 容器 运行 在 VirtualBox VM 中。因此,当您在 VM 的 OS 级别安装证书时,这不适用于 运行ning 作为 VM 中的容器。
BOSH 确实有一种使用 trusted_certs
属性 将可信证书注入其管理的每台机器的本机方法。假设您按照 these docs 安装了 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。您需要重新运行 CF 的部署命令以确保它选择那些受信任的证书。