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

简介:

本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第1章,第1.2节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: 黄凯 , 杜玉杰 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 使用VirtualBox和Vagrant创建一个沙盒环境
OpenStack云计算实战手册(第2版)
用VirtualBox和Vagrant创建一个沙盒环境,来帮助我们探索和尝试OpenStack相关服务。VirtualBox使我们能够玩转虚拟机和网络,而不影响我们其他的工作环境,VirtualBox的Windows、Mac OSX和Linux版本可以免费从http://www.virtualbox.org下载。Vagrant可以帮助自动化管理这些任务,这就意味着可以少花时间创建测试环境,把时间多用在使用OpenStack上。Ubuntu系统上可以直接安装Vagrant包,对于其他系统,请访问http://www.vagrantup.com/,这个测试环境还可以用于其他章节。

这里假设用来搭建测试环境的计算机具有足够强的处理能力,支持硬件虚拟化(如 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章。
相关文章
|
2月前
|
存储 安全 网络安全
云计算环境下的网络安全策略与实践
【5月更文挑战第31天】 在数字化浪潮不断推进的当下,云计算以其高效、灵活和成本效益的特点成为企业数字化转型的重要推动力。然而,随着云服务的广泛应用,数据安全与隐私保护问题亦日益凸显,成为制约云服务发展的关键因素之一。本文旨在探讨云计算环境中网络安全的挑战与对策,通过分析当前云服务中存在的安全风险,提出有效的安全管理和技术措施,以增强企业在享受云计算便利的同时,保障信息安全的能力。
31 2
|
2月前
|
云安全 存储 人工智能
云端防御战线:云计算环境下的网络安全策略与实践
【5月更文挑战第31天】在数字化浪潮推动下,云计算已成为现代企业架构不可或缺的一部分。然而,随着数据和应用不断迁移至云端,传统的网络边界逐渐模糊,给安全带来了前所未有的挑战。本文探讨了云计算环境中面临的主要安全威胁,分析了当前最佳实践和新兴技术如何共同构建坚固的防御体系,以保护云服务中的数据完整性、机密性和可用性。
|
2天前
|
云安全 安全 网络安全
云计算环境下的网络安全挑战与对策
【7月更文挑战第25天】在数字化时代,云计算作为信息技术的一大支柱,其安全性问题日益受到重视。本文旨在深入探讨云计算环境中存在的网络安全风险,并针对性地提出相应的安全策略和措施。通过分析云服务模式、网络攻击手段以及信息安全管理的实践,旨在为云服务提供商和用户构建一个更加安全可靠的云计算环境提供指导。
|
1天前
|
监控 安全 网络安全
云计算环境下的网络安全挑战与策略
【7月更文挑战第26天】在数字化转型的大潮中,云计算作为推动企业技术革新和业务增长的重要力量,其安全性问题也日益凸显。本文从云服务的基本概念出发,深入探讨了云计算环境中存在的网络安全风险,包括数据泄露、服务中断等,并针对这些风险提出了相应的安全策略。文章强调,通过加强身份认证、数据加密、访问控制以及实施持续的安全监控和评估,可以有效提升云计算环境的安全性。此外,文章还讨论了信息安全管理在确保云计算服务安全中的关键作用,旨在为读者提供一个全面的云计算网络安全框架。
|
3天前
|
存储 安全 网络安全
云计算环境下的网络安全挑战与对策
【7月更文挑战第23天】在数字化时代的浪潮中,云计算技术已成为推动企业信息化发展的重要力量。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境中存在的安全风险,并提出相应的解决策略,旨在为云服务用户提供一个安全的网络环境。
|
5天前
|
存储 安全 网络安全
云计算环境下的网络安全挑战与对策
在数字化浪潮的推动下,云计算作为一种新兴的服务模式,以其灵活性、可扩展性和成本效益高的特点,正迅速成为企业信息技术架构的核心。然而,随着云服务的广泛应用,其安全性问题也日益凸显,成为制约其发展的关键因素之一。本文旨在深入探讨云计算环境中的网络安全挑战,并提出相应的解决策略,以期为云服务供应商和使用者提供参考和指导。
11 1
|
14天前
|
监控 安全 网络安全
云计算环境下的网络安全挑战与对策
【7月更文挑战第13天】在数字时代,云计算以其灵活性、可扩展性和成本效益成为企业IT架构的核心。然而,随着数据和服务迁移到云端,网络安全问题也变得日益复杂。本文探讨了云服务中的主要网络安全风险,包括数据泄露、服务中断和合规性问题,并提出了相应的防护策略,如加强身份认证、数据加密、访问控制和持续的安全监控。通过这些措施,可以有效地提高云环境的安全性,保护关键数据免受威胁。
|
10天前
|
存储 安全 网络安全
云计算环境下的网络安全防护策略
本文旨在探讨云计算环境中网络安全的重要性,分析当前云服务面临的安全挑战,并提出有效的防护措施。文章首先概述了云计算的基本概念及其在现代IT基础设施中的核心地位,随后详细讨论了云服务中的网络威胁类型和信息安全的关键问题。最后,文章提出了一系列针对性的安全策略,包括加强数据加密、多因素认证、访问控制和定期的安全审计等,旨在帮助组织提高在云环境中的数据安全性和系统完整性。
16 1
|
23天前
|
存储 安全 网络安全
云计算环境下的网络安全防护策略与实践
随着信息技术的迅速发展,云计算作为一种新兴的服务模式,为个人和企业提供了便捷、高效的数据存储和处理解决方案。然而,云计算环境的开放性和资源共享特性也带来了新的安全挑战。本文深入探讨了云计算中的网络安全问题,分析了云服务模型特有的安全风险,并提出了相应的防护措施。文章通过引用最新的研究数据和案例分析,旨在为读者提供一套科学严谨且逻辑严密的网络安全策略框架,以增强云计算环境的安全性能。
|
29天前
|
存储 安全 网络安全
构筑防御堡垒:云计算环境下的网络安全策略与实践
【5月更文挑战第59天】 随着企业逐渐将数据和服务迁移至云端,云计算的安全性成为不容忽视的关键问题。本文深入探讨了在动态且复杂的云环境中如何有效实施网络安全策略,确保数据的保密性、完整性和可用性。通过分析当前云服务面临的安全威胁,结合最新的信息安全技术和最佳实践,本文提出了一系列切实可行的防御措施,并讨论了如何在保障业务连续性的同时提升系统的整体安全性能。