怎么用Puppet安装OpenStack Nova计算云

76次阅读
没有评论

共计 4112 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章将为大家详细讲解有关怎么用 Puppet 安装 OpenStack Nova 计算云,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

OpenStack 从 Rackpace  Cloud 和 NASA 的合作中出现,它提供运行在标准化硬件上的云计算服务。现在一个有超过 60 家公司的社团正在研发它。OpenStack 是 Apache 服务器许可并由许多更小的项目组成,包括 Nova 计算平台以及一个大规模可扩展冗余存储系统 Swift。

使用 OpenStack 的一个方法是使用 Puppet 并安装一个 OpenStack  Nova 计算云,这就是我们将在这篇文章中讲述的内容。Nova 计算组件大体上等效于 Amazon  EC2 的功能。它允许你使用包括 AMI 镜像在内的镜像文件来部署虚拟机以及管理这些已部署的实例。

首先,我们将要构建一个 Ubuntu 11.04 主机 (Ubuntu  Natty 的 ISO 文件)。*** 是选择一个物理主机而不是一个虚拟机,这不仅是因为性能原因,还因为在一个虚拟化内部进行虚拟化会引起不可预知的结果。如果你想要运行许多不同的镜像,那么你将需要大量硬盘空间,至少 10 到 20G。

接下来,你需要在主机上安装 Puppet 和 Git:

$ sudo apt-get install ruby rubygems git
$ sudo gem install puppet

Nova 需要通过一个 PPA 或者称为个人软件包存档来完成安装,它是一个包含 Nova 计算组件当前开发版本的软件包储存库。这是必需的,因为 Nova 处在一个过度的研发状态,同时最近打包的发行版本还不存在。

$ sudo apt-get install -y python-software-properties
$ sudo add-apt-repository ppa:nova-core/trunk

接着你需要更新 APT 储存库来获得新的 PPA 的详细信息:

$ sudo apt-get update

此时,使用 Git 从 OpenStack 处下载 Puppet Lab OpenStack 组件。

$ cd ~   git clone  ndash;recurse
git://github.com/puppetlabs/puppetlabs-openstack.git

把所下载的组件复制到 Puppet 组件路径:

$ sudo cp -R ~/puppetlabs-openstack/modules/* /etc/puppet/

现在你拥有了在主机上安装 Nova 所需的所有东西。想要进行实际的安装,你需要在主机上触发运行一个本地的 Puppet。

$ sudo puppet apply --verbose ~/puppetlabs-openstack/manifests/all.pp

这将会运行 all.pp Puppet 清单,它将会安装并配置 Nova 的所有组件以及其支持包和必备条件。

一旦 Puppet 已运行完成 (它可能会花一些时间,因为它必须下载许多程序包),然后你需要添加一些 AMI 格式的镜像。

$ cd /tmp
$ mkdir lucid_ami   cd lucid_ami
$ wget -q -O - http://173.203.107.207/ubuntu-lucid.tar | tar xSv

这会下载并解压一个包括我们可以用来创建实例的明晰示例 Ubuntu 镜像在内的压缩文件。然后,你将把这些镜像文件,包括一个内存盘、一个内核以及一个操作系统镜像文件,添加到一个称为 Glance 的服务中,这个服务是一个用于发现、记录并检索镜像的 OpenStack 服务。

首先添加内存盘和内核。

$ glance add name=ramdisk disk_format=ari container_format=ari is_public=True   initrd.img-2.6.32-23-server
$ glance add name=kernel disk_format=aki container_format=aki is_public=True   vmlinuz-2.6.32-23-server

然后你可以列出已经被添加的镜像:

$ glance index

发现 2 个公开的镜像 …

编号   名称磁盘格式   容器格式大小 2  kernel aki aki 40993601ramdisk ariari 7988037

你应该看到了你的内存盘镜像 #1 以及我们的内核#2。然后你可以连同我们明晰的操作系统镜像一起使用它们并也把它添加进去:

$ glance add name=lucid_ami disk_format=ami container_format=ami is_public=True ramdisk_id=1 kernel_id=2   ubuntu-lucid.img

然后再次列出镜像文件,发现你现在拥有镜像 #3:一个你将其作为一个虚拟实例推出的明晰的 Ubuntu AMI。

$ glance index

发现 3 个公开的镜像文件 …

编号名称   磁盘格式   容器格式大小 3  lucid_amiamiami5242880002kernelakiaki40993601ramdiskari ari 7988037

你也可以添加其它的多种格式的镜像到 Glance。

接下来,你需要通过运行一些 Nova 子命令来设置你到 Nova 的访问权限和身份验证,这会产生一个密钥对,用来验证我们的 Nova 实例 (类似于使用 Amazon  AWS 的密钥对)。这些相同的命令还会创建一个 Bash 脚本,用来设置合适的环境变量来验证 Nova。

$ cd ~
$ sudo nova-manage project zipfile nova novaadmin

现在,你应该拥有了一个包含密钥对和 Bash 脚本在内的被称为 nova.zip 的压缩文件,它需要解压:

$ unzip nova.zip

运行 Bash 脚本来填充我们的身份认证和环境变量。在你可以通过一个命令行会话与 Nova 进行交互之前,你需要运行这个脚本,或者把它的运行作为登录的一部分。

$ source novarc

***,添加你的密钥对,调用配对的 openstack:

$ euca-add-keypair openstack   ~/cert.pem

现在,你可以使用这个密钥对来运行一个实例了。寻找一个镜像来运行:

$ nova image-list
+----+-----------+--------+
|  编号  |  名称  |  状态  |
+----+-----------+--------+
| 1 | ramdisk | ACTIVE |
| 2 | kernel | ACTIVE |
| 3 | lucid_ami | ACTIVE |
+----+-----------+--------+

然后寻找这个镜像的一个特色来运行。特色描述了你将要运行的这个镜像的大小和类型。在 Amazon  AWS 世界,这是一个小中、大实例间的不同之处。你将会发现该功能与 Amazon EC2 相似。

$ nova flavor-list
+----+-----------+-----------+------+----------+-------+------------+----------+
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Quota | RXTX_Cap |
+----+-----------+-----------+------+----------+-------+------------+----------+
| 1 | m1.tiny | 512 | | 0 | | | |
| 2 | m1.small | 2048 | | 20 | | | |
| 3 | m1.medium | 4096 | | 40 | | | |
| 4 | m1.large | 8192 | | 80 | | | |
| 5 | m1.xlarge | 16384 | | 160 | | | |
+----+-----------+-----------+------+----------+-------+------------+----------+

在这个例子中,我们将选择运行一个小特色的 ami-00000003 镜像实例,就是你刚刚添加的明晰 Ubuntu 镜像,并使用 openstack 密钥对:

$ euca-run-instances ami-00000003 -k openstack -t m1.tiny

启动和配置实例将会花费好几分钟的时间,同时你可以使用以下命令来跟踪它的状态:

$ euca-describe-instances
i-00000001 ami-00000003 11.0.0.2 11.0.0.2 building m1.tiny

这里你可以看到该实例已经启动并且已为其分配了一个 IP 地址:11.0.0.2。有了这个 IP 地址和你的密钥对,你现在就可以通过 SSH 连接到这个新的实例。

$ ssh -i ~/cert.pem root@11.0.0.2

当你登录到这个新的实例以后,你就可以设置它,在它上面部署应用程序以及使用它直到你不再需要它为止 (你可以通过 euca-terminate-instance 命令来终止这个实例)。你也可以生成其它实例并使自己可以运行你自身的开源云。

OpenStack 才刚刚起步,同时,包括身份验证和数据库服务等在内的许多附加的项目也正在进行中,而且现有的组件每天都在扩展和更新。如果你想要更深层次的了解 OpenStack,那么你可以参考一些文档,或者看看邮件列表,在那里你可以得到帮助或者参与研发。

关于“怎么用 Puppet 安装 OpenStack Nova 计算云”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4112字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)