Juju 2.0和LXD Remote Provider
可以在新版本的Juju(2.0-rc3-xenial-amd64)中添加远程LXD提供程序?
我到现在为止做了什么:
- 手动云
(如果我使用juju deploy mysql --to lxd:
但我无法部署捆绑包)
- 更改了默认的LXC远程提供程序:
在远程启用https并设置密码
lxc remote add
lxc remote set-default
( lxc launch
工作正常,但Juju仍然使用本地提供商)
- 尝试使用config yaml文件添加新的LXD云,就像下面的
clouds: mylxd: type: lxd auth-types: [access-key, userpass] regions: deployment: endpoint: https://:8443/1.0
(但我无法使用此特定云配置进行引导)
你能帮我吗? 谢谢!
Juju 2.0附带的lxd提供程序只会在主机上创建容器。
该团队讨论了使用远程lxd机器,但目前,lxd提供程序是一个开发人员工具,只是在主机上创建容器。
这可以使用juju> = 2.1
SSH进入远程服务器(例如192.168.10.2)并配置lxd以接受传入连接并设置密码。
(192.168.10.2)$ lxc config set core.https_address "[::]" (192.168.10.2)$ lxc config set core.trust_password some-secret-string
现在,在将运行juju命令的机器(AKA juju客户端)添加远程lxd守护程序,这样做是为了轻松获取服务器的证书。
(juju-client)$ lxc remote add 192.168.10.2 \ --accept-certificate \ --password=some-secret-string
创建一个yaml配置文件,juju将使用它来添加云,这应该是它的样子。
# file: some-remote.yaml clouds: some-remote: type: lxd auth-types: [interactive, certificate] regions: some-remote: endpoint: 192.168.10.2
将云定义添加到juju:
(juju-client)$ juju add-cloud some-remote some-remote.yaml
创建credentials.yaml文件:
# file: credentials.yaml some-remote: some-remote: auth-type: certificate client-cert: | -----BEGIN CERTIFICATE----- ... INSERT THE CONTENT OF ~/.config/lxc/client.crt ... -----END CERTIFICATE----- client-key: | -----BEGIN RSA PRIVATE KEY----- ... INSERT THE CONTENT OF ~/.config/lxc/client.key ... -----END RSA PRIVATE KEY----- server-cert: | -----BEGIN CERTIFICATE----- ... INSERT THE CONTENT OF ~/.config/lxc/client.crt ... -----END CERTIFICATE-----
将凭据添加到juju:
(juju-client)$ juju add-credential some-remote -f credentials.yaml
validation云是否已正确添加:
(juju-client)$ juju clouds Cloud Regions Default Type Description [...] localhost 1 localhost lxd LXD Container Hypervisor some-remote 1 some-remote lxd LXD Container Hypervisor [...]
使用添加的云提供程序引导新控制器
(juju-client)$ juju bootstrap some-remote
完成引导程序后,validation控制器是否在远程lxd守护程序中正确旋转:
(juju-client)$ lxc list 192.168.10.2: +---------------+---------+--------------------------------+------+------------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +---------------+---------+--------------------------------+------+------------+-----------+ | juju-ec8b3d-0 | RUNNING | 192.168.10.42 (eth0) | | PERSISTENT | 0 | +---------------+---------+--------------------------------+------+------------+-----------+ (juju-client)$ juju status -m controller Model Controller Cloud/Region Version controller snowspeeder snowspeeder/snowspeeder 2.1.2 App Version Status Scale Charm Store Rev OS Notes Unit Workload Agent Machine Public address Ports Message Machine State DNS Inst id Series AZ Message 0 started 192.168.10.42 juju-ec8b3d-0 xenial Running
资料来源: http : //tty.cl/add-remote-lxd-server-as-a-cloud-in-juju-2x.html
免责声明:我是引用文章的作者