《OpenStack云计算实战手册(第2版)》一1.2 使用VirtualBox和Vagrant创建一个沙盒环境

这里假设用来搭建测试环境的计算机具有足够强的处理能力,支持硬件虚拟化(如 Intel VT-X和 AMD-V技术)并且至少有8GB内存。时刻牢记,我们正在创建一个虚拟环境用来玩转虚拟机,所以机器的内存容量越大越好。

准备工作
首先,必须从http://www.virtualbox.org/下载VirtualBox,然后按照安装步骤操作。

此外,还需要下载安装Vagrant,后面的章节将会详述。

本书所有操作都假设你安装OpenStack的底层操作系统是Ubuntu 12.04 LTS。但无须下载Ubuntu12.04 ISO镜像,因为Vagrant会帮我们搞定。

操作步骤
为了使用VirtualBox创建一个沙盒环境,我们将使用Vagrant定义一个独立的虚拟机,使我们能够创建运行云实例所需的所有OpenStack服务。该虚拟机将用作OpenStack控制节点,它的配置至少需要2GB内存和20GB硬盘空间和三个网络接口。Vagrant自动设置虚拟机上的一个接口——NAT
(Network Address Translate)接口,该接口允许虚拟机连接到VirtualBox的外部网络下载软件包。这个NAT接口没有在Vagrantfile中涉及,但会显示为虚拟机的eth0。这里配置的第一个OpenStack环境使用的接口是我们OpenStack计算节点的公共网络接口;第二个接口是私有网络接口,用作与不同的OpenStack Compute主机之间进行内部通信用;第三个接口当在学习第8章 时会做为外部网络使用。

执行以下步骤,使用Vagrant创建运行OpenStack计算服务的虚拟机。

1.从http://www.virtualbox.org下载安装VirtualBox,如果使用Ubuntu 12.04 LTS自带的版本将会遇到一些问题。

本书使用的是VirtualBox 4.2.16。

2.从http://www.vagrantup.com下载安装Vagrant,如果使用Ubuntu 12.04 LTS自带的版本将会遇到一些问题。

本书使用的是Vagrant 1.2.7。

3.安装之后,在Vagrantfile 文件中设置虚拟机和网络。为此,创建一个工作目录(如创建~/cookbook目录),在该目录下编辑Vagrantfile文件,命令如下:

mkdir ~/cookbook
cd ~/cookbook
vim Vagrantfile

4.编辑该文件配置Vagrant如下:

# -- mode: ruby --
# vi: set ft=ruby :  

nodes = {
  'controller'  =>  [1, 200],
}  

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"  

  # Forescout NAC workaround
  config.vm.usable_port_range = 2800..2900  

  nodes.each do |prefix, (count, ip_start)|
   count.times do |i|
     hostname = "%s" % [prefix, (i+1)]  

     config.vm.define "#{hostname}" do |box|
      box.vm.hostname = "#{hostname}.book"
      box.vm.network :private_network, ip: 
        "172.16.0.#{ip_start+i}", :netmask =>"255.255.0.0" 
      box.vm.network :private_network, ip: 
        "10.10.0.#{ip_start+i}", :netmask =>"255.255.0.0" 
      box.vm.network :private_network, ip: 
        "192.168.100.#{ip_start+i}", :netmask =>"255.255.255.0" 

      # Otherwise using VirtualBox 
      box.vm.provider :virtualbox do |vbox| 
        # Defaults 
        vbox.customize ["modifyvm", :id, "--memory",2048]
        vbox.customize ["modifyvm", :id, "--cpus", 1] 
      end 
     end 
   end 
  end 
end

5.现在可以准备启动控制节点了。只需执行:

vagrant up controller

祝贺你!你已成功创建了一个运行Ubuntu 12.04系统的VirtualBox虚拟机用来安装OpenStack控制服务。
工作原理
我们通过Vagran定义并创建了一个VIrtualBox虚拟机。Vagrant 基于工作目录(存储和运行VirtualBox虚拟机的目录)下的Vagrantfile文件来配置该虚拟机。虽然文件是基于Ruby语法的,但是内容基本上都一目了然。具体设置如下。

  • 主机名为controller。
  • VM是基于Precise64,Ubuntu 12.04 LTS 64位系统的别名。

指定了2GB RAM、1 CPU和一个外部磁盘挂在名为controller-cinder.vdi的虚拟机上。
然后,通过Vagrant命令启动该虚拟机。

该命令将会启动Vagrantfile 配置好的虚拟机。这里只设置一个虚拟机,所以命令将会启动这台唯一的虚拟机。

执行以下命令,登录到新创建的虚拟机:

vagrant ssh controller
更多参考
除了使用Vagrant 和VirtualBox配置测试环境,还可以使用其他虚拟化产品来学习OpenStack,如VMware Server、VMware Player、VMware Fusion等。

延伸阅读

  • 参见第10章。
时间: 2024-09-17 03:38:51

《OpenStack云计算实战手册(第2版)》一1.2 使用VirtualBox和Vagrant创建一个沙盒环境的相关文章

《OpenStack云计算实战手册(第2版)》——第1章 Keystone OpenStack身份认证服务1.1 介绍

第1章 Keystone OpenStack身份认证服务 本章将讲述以下内容: 使用VirtualBox和Vagrant创建一个沙盒环境 配置Ubuntu Cloud archive 安装OpenStack身份认证服务 创建租户 配置角色 添加用户 定义服务端点 配置服务对应的租户和用户 1.1 介绍 OpenStack身份认证服务(Identity Service),即Keystone,是为OpenStack云环境中的用户的账户和角色信息提供认证和管理服务的.这是一个关键的服务,OpenSta

《OpenStack云计算实战手册(第2版)》一导读

前 言 OpenStack云计算实战手册(第2版) OpenStack是一个用于构建公有云和私有云的开源软件.它是一个全球性的成功,由全球数千名人员开发和支持,并得到当今云计算领域巨头的鼎力支持. 本书设计的初衷在于帮助读者快速上手OpenStack,在理解的基础上将OpenStack更有信心地应用到自己的数据中心. 从VirtualBox中的测试安装,到使用Razor和Chef自动化安装脚本在产品环境中扩容,本书涵盖了安装和配置一个私有云的各种内容. 如何安装和配置OpenStakc的所有核心

《OpenStack云计算实战手册(第2版)》一第1章 Keystone OpenStack身份认证服务

第1章 Keystone OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 本章将讲述以下内容: 使用VirtualBox和Vagrant创建一个沙盒环境 配置Ubuntu Cloud archive 安装OpenStack身份认证服务 创建租户 配置角色 添加用户 定义服务端点 配置服务对应的租户和用户

《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务

2.3 用MySQL配置OpenStack镜像服务 OpenStack云计算实战手册(第2版) 默认情况下,OpenStack镜像服务,即Glance,被配置使用本地SQL数据库存储.为了弹性扩展,必须配置一个中心的.可扩展且更具可靠的数据库层.因此,可使用MySQL数据库来达到这个目的. 准备工作 请在开始前确认已经登录到一个已经安装了OpenStack镜像服务的服务器上. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagrant ssh controller

《OpenStack云计算实战手册(第2版)》一1.4 安装OpenStack身份认证服务

1.4 安装OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 我们将会使用Ubuntu Cloud Archive安装和配置OpenStack身份认证服务,也就是Keystone项目.配置完成之后,连接到OpenStack云环境都需经过这里所安装的OpenStack身份认证服务. OpenStack身份认证服务的默认后台数据库是MySQL数据库. 准备工作 为保证运行的是Ubuntu Cloud Archive,必须配置Ubunut 12.04安装使用该服务. 我们将配

《OpenStack云计算实战手册(第2版)》一1.1 介绍

1.1 介绍 OpenStack云计算实战手册(第2版) OpenStack身份认证服务(Identity Service),即Keystone,是为OpenStack云环境中的用户的账户和角色信息提供认证和管理服务的.这是一个关键的服务,OpenStack云环境中所有服务之间的鉴权和认证都需要经过它,所以它也是OpenStack环境中第一个安装的服务.经OpenStack身份认证服务认证通过之后,它会返回一个在OpenStack各个服务之间传输用的鉴权密钥.接下来就可以用这个密钥来为某个具体服

《OpenStack云计算实战手册(第2版)》一1.5 创建租户

1.5 创建租户 OpenStack云计算实战手册(第2版) 一个租户(tenant)在OpenStack里就是一个项目.在创建一个用户时必须首先为该用户分配一个租户,否则将无法创建此用户,所以首先要创建租户.在这一节中,将为用户创建一个名为cookbook的租户. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 执行以下命令,登录到使用Vag

《OpenStack云计算实战手册(第2版)》一1.6 配置角色

1.6 配置角色 OpenStack云计算实战手册(第2版) 角色是分配给一个租户中的用户的权限.在这里配置两个角色,一个用于管理云环境的admin角色和另一个用于分配给使用云环境的普通用户的Member角色. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagran

《OpenStack云计算实战手册(第2版)》一1.3 配置Ubuntu Cloud Archive

1.3 配置Ubuntu Cloud Archive OpenStack云计算实战手册(第2版)Ubuntu 12.04 LTS(本书使用的版本)提供两个可安装OpenStack的资源库.标准资源库所配置的是Essex版,本书写作时已可以通过设置Ubuntu Cloud Archive支持Grizzly版.我们下面将使用Ubuntu Cloud Archive提供的Grizzly发布版本来安装和配置OpenStack身份认证服务(以及其他服务). 准备工作确保登录到安装OpenStack身份认证