使用conjure-up在Ubuntu 18.04上设置单个节点OpenStack

时间:2020-02-23 14:40:29  来源:igfitidea点击:

想要轻松在Ubuntu上安装单个节点OpenStack?
conjure-up项目可让我们以简单和自动的方式安装复杂的软件堆栈。
这将从IT使用它而不是学习如何部署它的大型软件。
我们有另一篇关于在Ubuntu的OpenStack与Devstack上的openstack。
如果我们想要替代解决方案,请检查出来。

第1步:更新Ubuntu:

更新Ubuntu机器。

$sudo apt update
$sudo apt -y upgrade
[sudo] password for jkmutai: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done

如果不积极使用,我们可以选择在升级后重新启动计算机:

sudo reboot

第2步:安装conjure-up

ubuntu可以在ubuntu上获得魅力。

$sudo apt install snapd
$sudo snap install conjure-up --classic
conjure-up 2.6.10-20191109.1611 from Canonical✓ installed

第3步:在Ubuntu上安装LXD

conjure-up要求LXD的最低版本为3.0.0。
我们需要在使用conjure-up之前安装和配置LXD。
我们可以遵循LXD安装程序文档。

安装LXD:

$sudo snap install lxd
lxd 3.18 from Canonical✓ installed

$用户需要成为LXD组的一部分,以访问LXD服务。
将$User添加到LXD组执行以下内容:

sudo usermod -a -G lxd $USER
newgrp lxd

通过运行以下命令初始化lxd:

/snap/bin/lxd init

默认值应该足以满足大多数设置。

Would you like to use LXD clustering? (yes/no) [default=no]: 
Do you want to configure a new storage pool? (yes/no) [default=yes]: 
Name of the new storage pool [default=default]: 
Name of the storage backend to use (btrfs, ceph, dir, lvm, zfs) [default=zfs]: 
Create a new ZFS pool? (yes/no) [default=yes]: 
Would you like to use an existing block device? (yes/no) [default=no]: 
Size in GB of the new loop device (1GB minimum) [default=93GB]: 
Would you like to connect to a MAAS server? (yes/no) [default=no]: 
Would you like to create a new local network bridge? (yes/no) [default=yes]: 
What should the new bridge be called? [default=lxdbr0]: 
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
Would you like LXD to be available over the network? (yes/no) [default=no]: 
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] 
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:

确认桥创建。

$ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a4:c4:94:95:1b:45 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.110/24 brd 192.168.100.255 scope global dynamic noprefixroute wlp6s0
       valid_lft 85559sec preferred_lft 85559sec
    inet6 fe80::3851:679f:eafe:2553/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 5a:e5:cb:27:5d:e8 brd ff:ff:ff:ff:ff:ff
    inet 10.60.49.1/24 scope global lxdbr0
       valid_lft forever preferred_lft forever
    inet6 fd42:81d3:730a:7bdf::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::58e5:cbff:fe27:5de8/64 scope link 
       valid_lft forever preferred_lft forever

对于LocalHost部署,LXD必须具有定义的网络桥:

lxc network set lxdbr0 ipv4.address=auto ipv4.nat=true ipv6.address=none ipv6.nat=false

确认IPv6已禁用:

$lxc network show lxdbr0
config:
  ipv4.address: 10.173.59.1/24
  ipv4.nat: "true"
  ipv6.address: none
  ipv6.nat: "false"
description: ""
name: lxdbr0
type: bridge
used_by:
- /1.0/containers/juju-4569b7-0
- /1.0/containers/juju-4569b7-1
- /1.0/containers/juju-4569b7-2
- /1.0/containers/juju-4569b7-3
- /1.0/containers/juju-63515f-0
managed: true
status: Created
locations:
- none

对于在网络中使用代理的人来说,我们需要配置LXD以使用代理进行外部访问。

lxc config set core.proxy_http <http_proxy_server>
lxc config set core.proxy_https <https_proxy_server>
lxc config set core.proxy_ignore_hosts <no_proxy_hosts>

第4步:用LXD和conjure-upubuntu安装OpenStack

安装LXD和conjure-up后,它是时候在Ubuntu上安装OpenStack了。
生成SSH键:

$ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jkmutai/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/jkmutai/.ssh/id_rsa.
Your public key has been saved in /home/jkmutai/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:02cZvM0AwvpQZji7Jnuccr6FOgci7LrgLaGj5e2SjEs Hyman@theitroad
The key's randomart image is:
+---[RSA 2048]----+
|       o. .      |
|      o =. o     |
|       B    +    |
|      +  .   B   |
|.      +S . = o  |
|.o. o o... o     |
|+Eoo *...        |
|B==.+.*.         |
|B=o++Bo.         |
+----[SHA256]-----+

Ubuntu上的单节点OpenStack的安装可以在交互式会话中完成。
运行命令。
这将为我们提供所有可用的法术运行的列表:

$conjure-up

在对话框中选择"使用novalxd的OpenStack"拼写。

在屏幕中,选择"localhost"。

选择LXD Bridge进行部署。

提供在启动OpenStack实例时使用的SSH公钥的路径。

符合已部署的OpenStack服务并点击部署。

耐心患者在LXD上的OpenStack上部署可能需要一些时间完成。
将首先初始化Juju控制器,然后它需要控制并执行其他安装步骤。

在成功安装之后,将显示类似于下面的屏幕。

注意到地平线URL和访问凭据。

默认凭据是:

Username: admin 
Password: openstack

要删除部署:

$conjure-down

卸载conjure-up自己:

sudo snap remove conjure-up