《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章。
相关文章
|
18天前
|
存储 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护
在信息技术迅猛发展的今天,云计算作为支撑数字转型的重要基石,其安全性牵动着企业生存与发展的命脉。本文深入探讨了云计算环境中面临的安全威胁和挑战,并提出了一系列创新的安全策略和技术解决方案。通过综合分析公有云、私有云以及混合云服务模型中的安全需求,文章构建了一个多层次、全方位的网络安全防护体系。此外,针对数据加密、身份验证、访问控制等关键技术进行了深入剖析,旨在为读者提供一套系统的信息安全保护指南,确保在享受云计算带来的便利时,数据和资源的安全性不被妥协。
33 8
|
29天前
|
存储 监控 安全
云端防御战线:云计算环境中的网络安全与信息防护策略
【2月更文挑战第30天】 随着企业数字化转型的加速,云计算以其弹性、可伸缩性和成本效益成为支撑现代业务架构的关键平台。然而,云服务的广泛采用也引入了新的安全挑战,从数据泄露到服务中断,风险无处不在。本文探讨了在云计算环境下维护网络安全和信息安全的高级策略和技术,分析了云服务模型特有的安全威胁,并提出了综合防御框架以保护云基础设施和数据。通过深入剖析身份认证、加密技术、入侵检测系统以及合规性监控等关键技术手段,文章旨在为读者提供一套全面的参考方案,确保在享受云计算带来的便利时,也能有效地规避潜在的网络风险。
|
29天前
|
云安全 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息防护
【2月更文挑战第30天】 随着企业数字化转型的深入,云计算已成为支撑现代业务的关键基础设施。然而,云环境的开放性、复杂性和动态性也给网络安全带来了前所未有的挑战。本文聚焦于分析云计算环境中的网络安全威胁、信息安全风险以及相应的防护策略。通过综合运用加密技术、身份认证机制、入侵检测系统和安全事件管理,我们构建了一个多层次的安全防线,旨在为云服务提供全方位的保护。此外,文中还探讨了合规性在保障信息安全中的重要性,并提出了未来云计算安全研究的方向。
|
28天前
|
存储 安全 网络安全
构筑安全堡垒:云计算环境下的网络安全与防护策略
【2月更文挑战第31天】 在信息技术迅猛发展的当代,云计算以其高效、灵活和成本优化的特点成为企业数字化转型的重要支撑。然而,随着云服务的广泛应用,数据的安全与隐私保护问题也日益凸显。本文将深入探讨在复杂多变的云计算环境中,如何通过创新技术和策略加强网络安全防护,确保信息安全。我们将分析当前云计算服务中存在的安全威胁,探讨加密技术、身份认证、访问控制以及入侵检测等关键技术的应用,并提出一个多层次、综合性的安全防护框架,以助力企业在享受云计算便利的同时,有效防范安全风险。
|
3天前
|
监控 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【4月更文挑战第15天】 在数字化转型的时代,云计算已成为企业运营不可或缺的技术支撑。然而,随着云服务模式的广泛采纳,网络安全挑战亦随之而来。本文深入探讨了云计算环境下的安全威胁,分析了云服务模型对安全策略的影响,并提出了一系列创新的网络安全防护措施。通过研究最新的加密技术、访问控制机制和持续监控方法,文章旨在为企业提供一个综合性的网络安全框架,以确保其云基础设施和数据的安全性和完整性。
20 8
|
3天前
|
云安全 安全 网络安全
构筑防御堡垒:云计算环境下的网络安全策略
【4月更文挑战第15天】 在数字转型的浪潮中,云计算已成为企业部署应用和存储数据的首选平台。然而,随着云服务的普及,网络安全威胁也随之增加,给企业带来了前所未有的挑战。本文深入探讨了云计算环境中的网络安全问题,分析了云服务模型(IaaS, PaaS, SaaS)的安全风险,并提出了一系列针对性的安全措施。通过对最新的安全技术、合规性要求及最佳实践的综合评述,本文旨在为读者提供一套全面的云安全策略框架,以增强云环境下的信息安全。
|
6天前
|
人工智能 安全 网络安全
云端守卫:云计算环境中的网络安全与信息保护策略
【4月更文挑战第12天】 随着企业与个人日益依赖云服务,数据存储、处理和流通的边界愈发模糊。本文探讨了在动态且复杂的云计算环境中,如何通过创新的安全技术和策略来维护网络安全和保障信息完整性。重点分析了包括身份认证、数据加密、访问控制及入侵检测等在内的关键安全措施,并提出了多层次防御模型,以增强云服务用户的信心,同时促进云计算生态系统的健康发展。
|
8天前
|
存储 安全 网络安全
云端防御:云计算环境下的网络安全与信息保护策略
【4月更文挑战第11天】 随着企业和个人用户日益依赖云服务,其数据和应用程序的安全性成为不可忽视的挑战。本文深入探讨了在云计算环境中维护网络安全和信息保护的关键技术和最佳实践。通过分析当前的安全威胁、漏洞以及针对云平台的攻击手段,我们提出了一系列强化云服务安全性的策略,包括加密技术的应用、身份和访问管理、数据完整性监控、以及安全事件响应计划。此外,本文还讨论了合规性和隐私保护在云服务中的重要性,并提供了对未来云计算与网络安全发展趋势的展望。
9 0
|
20天前
|
云安全 安全 网络安全
云端防御战线:构筑云计算环境下的网络安全屏障
在数字化时代,云计算以其高效、灵活和成本优势成为企业IT架构的核心。然而,随之而来的是日益严峻的网络安全挑战。本文深入探讨了云计算环境中的网络安全问题,包括数据泄露、账户劫持、服务中断等风险,并分析了造成这些安全威胁的根本原因。文章着重介绍了当前主流的云安全策略与技术,如加密技术、身份认证机制、入侵检测系统等,并通过案例分析,展示了如何有效实施这些策略以增强云计算环境的安全性。最后,文章对云计算与网络安全的未来发展趋势进行了展望,指出了实现更高安全性所需面对的挑战和潜在的解决途径。
|
22天前
|
云安全 存储 安全
云端防御战线:云计算环境下的网络安全策略
随着企业逐渐迁移至云平台,云计算服务的安全性成为维护信息安全的关键。本文探讨在复杂多变的云环境中实施有效网络安全措施的策略,重点关注数据加密、身份验证以及入侵检测技术的应用与挑战。通过分析当前云安全的最佳实践和新兴技术,文章旨在为读者提供一套加强其云环境防护的实用框架。