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

免责声明:我是引用文章的作者