Linux就该这么学第22章 使用openstack部署云计算服务环境概述 本章节为读者介绍了云计算的历史,阐述云计算的定义,讲解Openstack项目的发展历程与核心优势,更富兴趣的学习云服务技能。 从最基础开始带领读者配置搭建和学习Opentack服务,并完全的演示了如何在Openstack软件中配置虚拟网络、创建主机实例模板、创建云主机实例、添加及挂载云硬盘等操作,更加生动深入的走入云时代。
本章目录结构 22.1.了解云计算 22.2.Openstack项目 22.3.服务模块组件详解 22.4.安装Openstack软件 22.5.使用Openstack服务 22.5.1.配置虚拟网络 22.5.2.创建云主机类型 22.5.3.创建主机实例 22.5.4.添加云硬盘 22.6.控制云主机实例
22.1.了解云计算 人类基于千年的物种衍变基础,在这个世纪终于有了爆发式的科技成果,尤其这二十年内互联网的发展,更像是一种催化剂,让原本已经热闹的地球更加的沸腾,互联网经济泡沫破灭后的科技研发却变得更加卖力,一次次的突破着传统研究中对人类脑力、科技最终式的定义,把“来自未来”的产品带到用户面前,那么到底互联网未来会变成什么样子,人类最终的归宿会是怎么样,我们不得而知,但可以肯定的是科技研发一直是由人类需求来驱动的。 众所周知Google谷歌是一家致力于互联网搜索、云计算、广告技术等领域的科技企业,一直在努力为全球无数的用户提供着大量基于互联网的产品与服务,而Amazon亚马逊则是全美国最大的网络电子商务公司,销售内容涉及方方面面,业务范围更是遍布全球,对于这种互联网巨头企业自然少不了庞大的基础设施的支撑,但是传统的硬件设施一旦投入就要一大笔钱,并且在业务的淡季也要一直的空闲,这样无疑产生了资源和资金的巨大浪费,所以最初的云计算便是由Google与Amazon分别提出的,核心理念之一就是通过云计算服务降低用户对资源拥有的成本。 当用户能够通过互联网方便的获取到计算、存储等服务时,我们比喻自己使用到了“云计算”,云计算并不能被称为是一种计算技术,而更像是一种服务模式,云计算服务好像拥有无穷的力量,能够预测气候变化、还能够模拟核弹爆炸,好像只要你需要,“云”就可以为你提供每秒万亿次的计算服务,满足你的一切需求,每个运维人员心里都有一个对云计算的理解,而最普遍接受的是NIST(美国国家标准与技术研究院)的定义: 云计算是一种按使用量付费的服务模式,这是一种能够提供可用的、便捷的、按需求的网络访问模式,计算共享池能够快速的为用户提供网络、服务器、存储、应用软件及其他服务,并且只需要花费很少的管理时间。 NIST还针对于云计算的服务模式提出了3个服务层次: 1.Iaas:提供给用户的是云计算基础设施,包括CPU、内存、存储、网络等其他的资源服务,用户不需要控制存储与网络等基础设施。 2.Paas:提供给用户的是云计算中的开发和分发应用的解决方案,用户能够部署应用程序,也可以控制相关的托管环境,比如云服务器及操作系统,但用户不需要接触到云计算中的基础设施。 3.Saas:提供给用户的是云计算基础设施上的应用程序,用户只需要在客户端界面访问即可使用到所需资源,而接触不到云计算的基础设施。
云计算服务类型。
22.2.Openstack项目 Openstack最初是由NASA和Rackspace共同发起的云端计算服务项目,该项目以Apache许可证授权的方式成为了一款开源产品,目的是将多个组件整合后从而实现一个开源的云计算平台,目前Openstack项目正在被红帽、IBM、AMD、Intel、戴尔、思科、微软等超过一百家厂商共同研发,并已经支持了几乎所有的常见云计算环境,拥有了良好的可扩展性,而且部署搭建Openstack服务也变得十分简单,目前国内对于云计算的需求也逐渐增加,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等中国企业也加入到了Openstack项目研发当中,Openstack项目也正在随着全球内得到了众多厂商的参与支持而快速成熟。 Open是开放,Stack则是堆砌之意,合起来就是将众多的功能服务堆积起来的集合,让人们通过Openstack云计算项目,能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,调整方便,拥有极强的虚拟可扩展性,是公共和私有云的建设与管理软件中的优秀开源项目。 Openstack作为一个云平台的管理项目,其功能组件覆盖了网络、虚拟化、操作系统、服务器等多个方面,每个功能组件交由不同的项目委员会来研发和管理,目前核心的项目包括有:
Openstack项目的版本按照ABCDEFG的顺序发布,每6个月更新一次,Openstack版本发布历史:
开源社区成员和Linux技术爱好者可以选择使用Openstack RDO版本,RDO版本允许用户以免费授权的方式来获取openstack软件的使用资格,但是从安装开始便较为复杂(需要自行解决诸多的软件依赖关系),而且没有官方给予的保障及售后服务,请读者们仔细的按实验步骤安装,就一定没有问题的。
22.3.服务模块组件详解 Openstack是一个云计算的平台,也像是部署云操作系统的工具集,可以通过调取不同的组件来构建虚拟计算及云计算服务,比较重要的包括有计算(compute)、对象存储(Objectstorage)、认证(Identity)、仪表板(Dashboard)、块存储(Block Storage)、网络(Network)和镜像服务(image service),Openstack服务组件协同工作拓扑:
Nova提供计算服务 Nova可以称作是Openstack云计算平台中最核心的服务组件了,它作为计算的弹性控制器来管理虚拟化、网络及存储等资源,为Openstack的云主机实例提供可靠的支撑,其功能由不同的API来提供。 Nova-api(API服务器): API服务器用于提供云计算设施与外界交互的接口,也是用户对云计算设施进行管理的唯一通道,用户通过网页来调用各种API接口,再由API服务器通过消息队列把请求传递至目标设置进行处理。 Rabbit MQ Server(消息队列): Openstack在遵循AMQP高级消息队列协议的基础之上采用了消息队列进行通信,异步通信的方式更是能够减少了用户的等待时间,让整个平台都变得更有效率。 Nova-compute(运算工作站): 运算工作站通过消息队列接收用户的请求并执行,从而负责对主机实例的整个生命周期中的各种操作进行处理,一般会架设多台计算工作站,根据调度算法来按照实例在任意一个计算工作站上部署。 Nova-network(网络控制器): 用于处理主机的网络配置,例如分配IP地址,配置项目VLAN,设定安全群组及为计算节点配置网络。 Nova-Volume(卷工作站): 基于LVM的实例卷能够为一个主机实例创建、删除、附加卷或从主机中分离卷。 Nova-scheduler(调度器) 调度器以名为"nova-schedule"的守护进程方式进行运行,根据对比CPU架构及负载、内存占用率、子节点的远近等因素,使用调度算法从可用的资源池中选择运算服务器。 Glance提供镜像服务 Openstack镜像服务是一套用于主机实例来发现、注册、索引的系统,功能相比较也很简单,具有基于组件的架构、高可用、容错性、开发标准等优良特性,虚拟机的镜像可以被放置到多种存储上。 Swift提供存储服务 Swift模块是一种分布式、持续虚拟对象存储,具有跨节点百级对象的存储能力,并且支持内建冗余和失效备援的功能,同时还能够处理数据归档和媒体流,对于超大数据和多对象数量非常高效。 Swfit代理服务器: 用于通过Swift-API与代理服务器进行交互,代理服务器能够检查实例位置并路由相关的请求,当实例失效或被转移后则自动故障切换,减少重复路由请求。 Swift对象服务器: 用于处理处理本地存储中对象数据的存储、索引和删除操作。 Swift容器服务器: 用于统计容器内包含的对象数量及容量存储空间使用率,默认对象列表将存储为SQLite或者MYSQL文件。 Swift帐户服务器: 与容器服务器类似,列出容器中的对象。 Ring索引环: 用户记录着Swift中物理存储对象位置的信息,作为真实物理存储位置的虚拟映射,能够查找及定位不同集群的实体真实物理位置的索引服务,上述的代理、对象、容器、帐户都拥有自己的Ring索引环。 Keystone提供认证服务 Keystone模块依赖于自身的Identity API系统基于判断动作消息来源者请求的合法性来为Openstack中Swift、Glance、Nove等各个组件提供认证和访问策略服务, Horizon提供管理服务 Horizon是一个用于管理、控制Openstack云计算平台服务器的Web控制面板,用户能够在网页中管理主机实例、镜像、创建密钥对、管理实例卷、操作Swift容器等操作。 Quantum提供网络服务 重要的网络管理组件。 Cinder提供存储管理服务 用于管理主机实例中的存储资源。 Heat提供软件部署服务 用于在主机实例创建后简化配置操作。
22.4.安装Openstack软件 此刻我写这段话的时候,Openstack Liberty版本刚刚发布几周,企业中的生产环境会以稳定性为核心标准,所以还需要较长一段时间才能接受并正式使用这个新版本的产品,为了能够让读者学完即用,本片内容则会以Juno版本来做实验,为了能够让云计算平台发挥到最好的性能,我们需要开启虚拟机的虚拟化功能,内存至少为4GB(推荐8GB以上),并添加额外的一块硬盘(20G以上)。
设置服务器的主机名称: [root@openstack ~]# vim /etc/hostname openstack.linuxprobe.com 使用vim编辑器写入主机名(域名)与IP地址的映射文件: [root@openstack ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.10 openstack.linuxprobe.com openstack 将服务器网卡IP地址配置成"192.168.10.10"后测试主机连通状态: [root@openstack ~]# ping $HOSTNAME PING openstack.linuxprobe.com (192.168.10.10) 56(84) bytes of data. 64 bytes from openstack.linuxprobe.com (192.168.10.10): icmp_seq=1 ttl=64 time=0.099 ms 64 bytes from openstack.linuxprobe.com (192.168.10.10): icmp_seq=2 ttl=64 time=0.107 ms 64 bytes from openstack.linuxprobe.com (192.168.10.10): icmp_seq=3 ttl=64 time=0.070 ms 64 bytes from openstack.linuxprobe.com (192.168.10.10): icmp_seq=4 ttl=64 time=0.075 ms ^C --- openstack.linuxprobe.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3001ms rtt min/avg/max/mdev = 0.070/0.087/0.107/0.019 ms 创建系统镜像的挂载目录: [root@openstack ~]# mkdir -p /media/cdrom 写入镜像与挂载点的信息: [root@openstack ~]# vim /etc/fstab # HEADER: This file was autogenerated at 2016-01-28 00:57:19 +0800 # HEADER: by puppet. While it can still be managed manually, it # HEADER: is definitely not recommended. # # /etc/fstab # Created by anaconda on Wed Jan 27 15:24:00 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/rhel-root / xfs defaults 1 1 UUID=c738dff6-b025-4333-9673-61b10eaf2268 /boot xfs defaults 1 2 /dev/mapper/rhel-swap swap swap defaults 0 0 /dev/cdrom /media/cdrom iso9660 defaults 0 0 挂载系统镜像设备: [root@openstack ~]# mount -a mount: /dev/sr0 is write-protected, mounting read-only 写入基本的yum仓库配置信息: [root@openstack ~]# vim /etc/yum.repos.d/rhel.repo [base] name=base baseurl=file:///media/cdrom enabled=1 gpgcheck=0 您可以下载EPEL仓库源以及Openstack-juno的软件安装包,并上传至服务器的/media目录中: 软件资源下载地址:http://www.linuxprobe.com/tools/ Openstack Juno——云计算平台软件 Openstack云计算软件能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,拥有极强的虚拟可扩展性。 EPEL——系统的软件源仓库 EPEL是企业版额外的资源包,提供了默认不提供的软件安装包 Cirros——精简的操作系统 Cirros是一款极为精简的操作系统,一般用于灌装到Openstack服务平台中。 [root@openstack ~]# cd /media [root@openstack media]# ls cdrom epel.tar.bz2 openstack-juno.tar.bz2 分别解压文件: [root@openstack media]# tar xjf epel.tar.bz2 [root@openstack media]# tar xjf openstack-juno.tar.bz2 分别写入EPEL与openstack的yum仓库源信息: [root@openstack media]# vim /etc/yum.repos.d/openstack.repo [openstack] name=openstack baseurl=file:///media/openstack-juno enabled=1 gpgcheck=0 [root@openstack media]# vim /etc/yum.repos.d/epel.repo [epel] name=epel baseurl=file:///media/EPEL enabled=1 gpgcheck=0 将/dev/sdb创建成逻辑卷,卷组名称为cinder-volumes: [root@openstack media]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created [root@openstack media]# vgcreate cinder-volumes /dev/sdb Volume group "cinder-volumes" successfully created 重启系统: [root@openstack media]# reboot 安装Openstack的应答文件: [root@openstack ~]# yum install openstack-packstack ………………省略部分安装过程……………… Installing: openstack-packstack noarch 2014.2-0.4.dev1266.g63d9c50.el7.centos openstack 210 k Installing for dependencies: libyaml x86_64 0.1.4-10.el7 base 55 k openstack-packstack-puppet noarch 2014.2-0.4.dev1266.g63d9c50.el7.centos openstack 43 k openstack-puppet-modules noarch 2014.2.1-0.5.el7.centos openstack 1.3 M perl x86_64 4:5.16.3-283.el7 base 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 27 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-2.el7 base 56 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-PathTools x86_64 3.40-5.el7 base 83 k perl-Pod-Escapes noarch 1:1.04-283.el7 base 50 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-3.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-283.el7 base 686 k perl-macros x86_64 4:5.16.3-283.el7 base 42 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k python-netaddr noarch 0.7.12-1.el7.centos openstack 1.3 M ruby x86_64 2.0.0.353-20.el7 base 66 k ruby-irb noarch 2.0.0.353-20.el7 base 87 k ruby-libs x86_64 2.0.0.353-20.el7 base 2.8 M rubygem-bigdecimal x86_64 1.2.0-20.el7 base 78 k rubygem-io-console x86_64 0.4.2-20.el7 base 49 k rubygem-json x86_64 1.7.7-20.el7 base 74 k rubygem-psych x86_64 2.0.0-20.el7 base 76 k rubygem-rdoc noarch 4.0.0-20.el7 base 317 k rubygems noarch 2.0.14-20.el7 base 211 k ………………省略部分安装过程……………… Complete! 安装openstack服务程序: [root@openstack ~]# packstack --allinone --provision-demo=n --nagios-install=n Welcome to Installer setup utility Packstack changed given value to required value /root/.ssh/id_rsa.pub Installing: Clean Up [ DONE ] Setting up ssh keys [ DONE ] Discovering hosts' details [ DONE ] Adding pre install manifest entries [ DONE ] Preparing servers [ DONE ] Adding AMQP manifest entries [ DONE ] Adding MySQL manifest entries [ DONE ] Adding Keystone manifest entries [ DONE ] Adding Glance Keystone manifest entries [ DONE ] Adding Glance manifest entries [ DONE ] Adding Cinder Keystone manifest entries [ DONE ] Adding Cinder manifest entries [ DONE ] Checking if the Cinder server has a cinder-volumes vg[ DONE ] Adding Nova API manifest entries [ DONE ] Adding Nova Keystone manifest entries [ DONE ] Adding Nova Cert manifest entries [ DONE ] Adding Nova Conductor manifest entries [ DONE ] Creating ssh keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] Adding Nova Compute manifest entries [ DONE ] Adding Nova Scheduler manifest entries [ DONE ] Adding Nova VNC Proxy manifest entries [ DONE ] Adding Openstack Network-related Nova manifest entries[ DONE ] Adding Nova Common manifest entries [ DONE ] Adding Neutron API manifest entries [ DONE ] Adding Neutron Keystone manifest entries [ DONE ] Adding Neutron L3 manifest entries [ DONE ] Adding Neutron L2 Agent manifest entries [ DONE ] Adding Neutron DHCP Agent manifest entries [ DONE ] Adding Neutron LBaaS Agent manifest entries [ DONE ] Adding Neutron Metering Agent manifest entries [ DONE ] Adding Neutron Metadata Agent manifest entries [ DONE ] Checking if NetworkManager is enabled and running [ DONE ] Adding OpenStack Client manifest entries [ DONE ] Adding Horizon manifest entries [ DONE ] Adding Swift Keystone manifest entries [ DONE ] Adding Swift builder manifest entries [ DONE ] Adding Swift proxy manifest entries [ DONE ] Adding Swift storage manifest entries [ DONE ] Adding Swift common manifest entries [ DONE ] Adding MongoDB manifest entries [ DONE ] Adding Ceilometer manifest entries [ DONE ] Adding Ceilometer Keystone manifest entries [ DONE ] Adding post install manifest entries [ DONE ] Installing Dependencies [ DONE ] Copying Puppet modules and manifests [ DONE ] Applying 192.168.10.10_prescript.pp 192.168.10.10_prescript.pp: [ DONE ] Applying 192.168.10.10_amqp.pp Applying 192.168.10.10_mysql.pp 192.168.10.10_amqp.pp: [ DONE ] 192.168.10.10_mysql.pp: [ DONE ] Applying 192.168.10.10_keystone.pp Applying 192.168.10.10_glance.pp Applying 192.168.10.10_cinder.pp 192.168.10.10_keystone.pp: [ DONE ] 192.168.10.10_cinder.pp: [ DONE ] 192.168.10.10_glance.pp: [ DONE ] Applying 192.168.10.10_api_nova.pp 192.168.10.10_api_nova.pp: [ DONE ] Applying 192.168.10.10_nova.pp 192.168.10.10_nova.pp: [ DONE ] Applying 192.168.10.10_neutron.pp 192.168.10.10_neutron.pp: [ DONE ] Applying 192.168.10.10_neutron_fwaas.pp Applying 192.168.10.10_osclient.pp Applying 192.168.10.10_horizon.pp 192.168.10.10_neutron_fwaas.pp: [ DONE ] 192.168.10.10_osclient.pp: [ DONE ] 192.168.10.10_horizon.pp: [ DONE ] Applying 192.168.10.10_ring_swift.pp 192.168.10.10_ring_swift.pp: [ DONE ] Applying 192.168.10.10_swift.pp 192.168.10.10_swift.pp: [ DONE ] Applying 192.168.10.10_mongodb.pp 192.168.10.10_mongodb.pp: [ DONE ] Applying 192.168.10.10_ceilometer.pp 192.168.10.10_ceilometer.pp: [ DONE ] Applying 192.168.10.10_postscript.pp 192.168.10.10_postscript.pp: [ DONE ] Applying Puppet manifests [ DONE ] Finalizing [ DONE ] **** Installation completed successfully ****** Additional information: * A new answerfile was created in: /root/packstack-answers-20160128-004334.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * Did not create a cinder volume group, one already existed * File /root/keystonerc_admin has been created on OpenStack client host 192.168.10.10. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.10.10/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * Because of the kernel update the host 192.168.10.10 requires reboot. * The installation log file is available at: /var/tmp/packstack/20160128-004334-tNBVhA/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20160128-004334-tNBVhA/manifests 创建云平台的网卡配置文件: [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE=br-ex IPADDR=192.168.10.10 NETMASK=255.255.255.0 BOOTPROTO=static DNS1=192.168.10.1 GATEWAY=192.168.10.1 BROADCAST=192.168.10.254 NM_CONTROLLED=no DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no ONBOOT=yes DEVICETYPE=ovs TYPE="OVSIntPort" OVS_BRIDGE=br-ex 修改网卡参数信息为: [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 DEVICE="eno16777728" ONBOOT=yes TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex NM_CONTROLLED=no IPV6INIT=no 将网卡设备添加到OVS网络中: [root@openstack ~]# ovs-vsctl add-port br-ex eno16777728 [root@openstack ~]# ovs-vsctl show 55501ff1-856c-46f1-8a00-5c61e48bb64d Bridge br-ex Port br-ex Interface br-ex type: internal Port "eno16777728" Interface "eno16777728" Bridge br-int fail_mode: secure Port br-int Interface br-int type: internal Port patch-tun Interface patch-tun type: patch options: {peer=patch-int} Bridge br-tun Port patch-int Interface patch-int type: patch options: {peer=patch-tun} Port br-tun Interface br-tun type: internal ovs_version: "2.1.3" 重启系统让网络设备同步: [root@openstack ~]# reboot 执行身份认证脚本: [root@openstack ~]# source keystonerc_admin [root@openstack ~(keystone_admin)]# openstack-status == Nova services == openstack-nova-api: active openstack-nova-cert: active openstack-nova-compute: active openstack-nova-network: inactive (disabled on boot) openstack-nova-scheduler: active openstack-nova-volume: inactive (disabled on boot) openstack-nova-conductor: active == Glance services == openstack-glance-api: active openstack-glance-registry: active == Keystone service == openstack-keystone: active == Horizon service == openstack-dashboard: active == neutron services == neutron-server: active neutron-dhcp-agent: active neutron-l3-agent: active neutron-metadata-agent: active neutron-lbaas-agent: inactive (disabled on boot) neutron-openvswitch-agent: active neutron-linuxbridge-agent: inactive (disabled on boot) neutron-ryu-agent: inactive (disabled on boot) neutron-nec-agent: inactive (disabled on boot) neutron-mlnx-agent: inactive (disabled on boot) == Swift services == openstack-swift-proxy: active openstack-swift-account: active openstack-swift-container: active openstack-swift-object: active == Cinder services == openstack-cinder-api: active openstack-cinder-scheduler: active openstack-cinder-volume: active openstack-cinder-backup: active == Ceilometer services == openstack-ceilometer-api: active openstack-ceilometer-central: active openstack-ceilometer-compute: active openstack-ceilometer-collector: active openstack-ceilometer-alarm-notifier: active openstack-ceilometer-alarm-evaluator: active == Support services == libvirtd: active openvswitch: active dbus: active tgtd: inactive (disabled on boot) rabbitmq-server: active memcached: active == Keystone users == | id | name | enabled | email | | 7f1f43a0002e4fb9a04b9b1480294e08 | admin | True | test@test.com | | c7570a0d3e264f0191d8108359100cdd | ceilometer | True | ceilometer@localhost | | 9d3d1b46599341638771c33bcebe17fc | cinder | True | cinder@localhost | | 52a803edcc4e479ea147e69ca2966f46 | glance | True | glance@localhost | | 8b0bcd19b11f49059bc100d260f39d50 | neutron | True | neutron@localhost | | 953e01b228ef480db551dd05d43eb6d1 | nova | True | nova@localhost | | 16ced2f73c034e58a0951e46f22eddc8 | swift | True | swift@localhost | == Glance images == | ID | Name | Disk Format | Container Format | Size | Status | == Nova managed services == | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | | 1 | nova-consoleauth | openstack.linuxprobe.com | internal | enabled | up | 2016-01-29T04:36:20.000000 | - | | 2 | nova-scheduler | openstack.linuxprobe.com | internal | enabled | up | 2016-01-29T04:36:20.000000 | - | | 3 | nova-conductor | openstack.linuxprobe.com | internal | enabled | up | 2016-01-29T04:36:20.000000 | - | | 4 | nova-compute | openstack.linuxprobe.com | nova | enabled | up | 2016-01-29T04:36:16.000000 | - | | 5 | nova-cert | openstack.linuxprobe.com | internal | enabled | up | 2016-01-29T04:36:20.000000 | - | == Nova networks == | ID | Label | Cidr | == Nova instance flavors == | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | == Nova instances == | ID | Name | Status | Task State | Power State | Networks | 打开浏览器进入http://192.168.10.10/dashboard:
查看登录的帐号密码: [root@openstack ~]# cat keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=14ad1e723132440c export OS_AUTH_URL=http://192.168.10.10:5000/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ ' 输入帐号密码后进入到Openstack管理中心:
22.5.使用Openstack服务 22.5.1.配置虚拟网络 要想让云平台中的虚拟实例机能够互相通信,并且让外部的用户访问到里面的数据,我们首先就必需配置好云平台中的网络环境。 Openstack创建网络:
编辑网络配置:
点击创建子网:
创建子网信息:
填写子网详情(DHCP地址池中的IP地址用逗号间隔):
子网详情:
创建私有网络:
创建网络:
填写网络信息:
设置网络详情:
查看网络信息:
添加路由信息:
填写路由名称:
设置路由的网关信息:
设置网关:
在网络拓扑中添加接口:
添加接口信息:
路由的接口信息(需要等待几秒钟后,内部接口的状态会变成ACTIVE):
22.5.2.创建云主机类型 我们可以预先设置多个云主机类型的模板,这样可以灵活的满足用户的需求,先来创建云主机类型:
填写云主机的基本信息:
创建上传镜像:
Cirros是一款极为精简的操作系统,非常小巧精简的Linux系统镜像,一般会在搭建Openstack后测试云计算平台可用性的系统,特点是体积小巧,速度极快,那么来上传Cirros系统镜像吧:
查看已上传的镜像(Cirros系统上传速度超级快吧!):
接下来去看后续章节:22.5.3.创建主机实例、22.5.4.添加云硬盘、22.6.控制云主机实例、本章节的复习作业。 |