OpenStack Essex安装手册.docx

上传人:b****7 文档编号:10592298 上传时间:2023-02-21 格式:DOCX 页数:51 大小:32.57KB
下载 相关 举报
OpenStack Essex安装手册.docx_第1页
第1页 / 共51页
OpenStack Essex安装手册.docx_第2页
第2页 / 共51页
OpenStack Essex安装手册.docx_第3页
第3页 / 共51页
OpenStack Essex安装手册.docx_第4页
第4页 / 共51页
OpenStack Essex安装手册.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

OpenStack Essex安装手册.docx

《OpenStack Essex安装手册.docx》由会员分享,可在线阅读,更多相关《OpenStack Essex安装手册.docx(51页珍藏版)》请在冰豆网上搜索。

OpenStack Essex安装手册.docx

OpenStackEssex安装手册

OpenStackEssex版安装手册

OpenStack是一个云平台管理的项目,它不是一个软件。

这个项目由几个主要的组件组合起来完成一些具体的工作。

就目前而言,OpenStack在国外慢慢的流行开来,不少企业和个人也在对它进行二次开发。

从我个人理解,OpenStack作为一种免费的开源软件,可以用在中小企业内部,可以给公司内部的开发测试部门使用,也可以跑一些应用服务。

另外一种就是提供对外服务,好比作云服务的企业会考虑对OpenStack进行二次开发和包装,集成或者新增一些特定的功能或者管理界面。

我觉得OpenStack不光光能在1分钟给你想要的image操作系统,也可以做到5分钟能帮你生成一台app节点(应用服务器)加入到业务中去。

后者才是我们现在更需要去做的,从irc聊天室、邮件列表、以及一些wiki的内容来看,老外已经在这方面走在了前面。

由于OpenStack组件非常多,安装问题给想要了解它的新手带来了一些问题,由于官方文档更新比较慢,我是在开始的安装过程中浪费了大量的时间,这里根据一些文档和资料整理出这一篇Essex版的安装文档来,希望对想要了解OpenStack的人一些帮助

1安装前的准备

o1.1安装依赖软件包

2安装和配置认证服务(Keystone)

o2.1安装和配置keystone

o2.2验证认证服务器的安装

o2.3参考资料

3安装和配置镜像服务(Glance)

o3.1安装镜像服务(Glance)

o3.2配置镜像服务(Glance)

o3.3启动镜像服务

o3.4验证镜像服务的安装

o3.5上传镜像到Glance

o3.6参考资料

4安装和配置计算服务(Nova)

o4.1安装计算服务(Nova)

o4.2配置计算服务(Nova)

o4.3启动服务

o4.4验证Nova安装配置

o4.5参考资料

5安装配置Horizon

o5.1安装Horizon

o5.2配置Horizon

o5.3验证Horizon安装

6Tips

7写在最后

1安装前的准备

1.1安装依赖软件包

∙安装时间服务器

sudoapt-getupdate

sudoapt-getinstall-yntp

sudosed-i's/server\nserver127.127.1.0\nfudge127.127.1.0stratum10/g'/etc/ntp.conf

sudoservicentprestart

∙用apt-get安装依赖软件

#general

sudoapt-get-yinstallpep8pylintpython-pipscreenunzipwgetpsmiscgit-corevim-noxlocatepython-virtualenvpython-unittest2iputils-pingwgetcurltcpdumpeuca2ools

#glance

sudoapt-get-yinstallpython-eventletpython-routespython-greenletpythonpython-sqlalchemypython-wsgirefpython-pastedeploypython-xattrpython-iso8601

#horizon

sudoapt-get-yinstallapache2libapache2-mod-wsgipython-dateutilpython-pastepython-pastedeploypython-anyjsonpython-routespython-xattrpython-sqlalchemypython-webobpython-kombupylintpep8python-eventletpython-nosepython-sphinxpython-moxpython-kombupython-coveragepython-cherrypy3python-djangopython-django-mailerpython-django-nosepython-django-registrationpython-cloudfilespython-migrate

#keystone

sudoapt-get-yinstallpython-setuptoolspython-devpython-lxmlpython-pastescriptpython-pastedeploypython-pastesqlite3python-pysqlite2python-sqlalchemypython-webobpython-greenletpython-routeslibldap2-devlibsasl2-devpython-bcrypt

#nova-api

sudoapt-get-yinstallpython-dateutil

#nova-compute

sudoapt-get-yinstalllvm2open-iscsiopen-iscsi-utils

#nova-novncproxy

sudoapt-get-yinstallpython-numpy

#nova

#hereweuseaptitudesinceapt-getcannotsolvethedependence

sudoaptitude-yinstalldnsmasq-basednsmasq-utilskpartxpartedarpingiputils-arpingmysql-serverpython-mysqldbpython-xattrpython-lxmlkvmgawkiptablesebtablessqlite3sudokvmlibvirt-binvlancurlrabbitmq-serversocatpython-moxpython-pastepython-migratepython-gflagspython-greenletpython-libvirtpython-libxml2python-routespython-netaddrpython-pastedeploypython-eventletpython-cheetahpython-carrotpython-tempitapython-sqlalchemypython-sudspython-lockfilepython-m2cryptopython-botopython-kombu\python-feedparserpython-iso8601

#nova-volume

sudoapt-get-yinstalltgtlvm2

∙用pip安装依赖软件

#horizon

sudopipinstalldjango-nose-seleniumpycrypto==2.3

#keystone

sudopipinstallPassLib

#tempest

sudopipinstallpika

2安装和配置认证服务(Keystone)

2.1安装和配置keystone

∙安装keystone

mkdir/opt/stack

#keystone

cd/opt/stack

gitclone

cdkeystone

gitcheckoutmaster

sudopythonsetup.pydevelop

#keystoneclientlibrarytonovathathorizonuses

cd/opt/stack

gitclone

cdpython-keystoneclient

gitcheckoutmaster

sudopythonsetup.pydevelop

∙安装curl,一个模拟HTTP请求的命令行工具

sudoapt-getinstallcurl

∙配置数据存储后端

sudoapt-getinstallpython-mysqldbmysql-server

sudosed-i's/127.0.0.1/0.0.0.0/g'/etc/mysql/f

sudoservicemysqlrestart

mysql-uroot-p

mysql>CREATEDATABASEkeystone;

mysql>GRANTALLONkeystone.*TO'keystone'@'localhost'IDENTIFIEDBY'mypasswd';

mysql>quit

∙编辑keystone.conf

sudocp-r/opt/stack/keystone/etc/etc/keystone

sudovi/etc/keystone/keystone.conf

[DEFAULT]

bind_host=0.0.0.0

public_port=5000

admin_port=35357

admin_token=openstack

compute_port=3000

verbose=True

debug=True

#commentedoutsodevstacklogstostdout

log_file=/var/log/keystone/keystone.log

#=================SyslogOptions============================

#Sendlogstosyslog(/dev/log)insteadoftofilespecified

#by`log-file`

use_syslog=False

#Facilitytouse.IfunsetdefaultstoLOG_USER.

#syslog_log_facility=LOG_LOCAL0

[sql]

connection=mysql:

//keystone:

mypasswd@192.168.122.6/keystone

idle_timeout=30

min_pool_size=5

max_pool_size=10

pool_timeout=200

[identity]

driver=keystone.identity.backends.sql.Identity

[catalog]

driver=keystone.catalog.backends.templated.TemplatedCatalog

template_file=/etc/keystone/default_catalog.templates

[token]

driver=keystone.token.backends.kvs.Token

[policy]

driver=keystone.policy.backends.rules.Policy

[ec2]

driver=keystone.contrib.ec2.backends.sql.Ec2

[filter:

debug]

paste.filter_factory=mon.wsgi:

Debug.factory

[filter:

token_auth]

paste.filter_factory=keystone.middleware:

TokenAuthMiddleware.factory

[filter:

admin_token_auth]

paste.filter_factory=keystone.middleware:

AdminTokenAuthMiddleware.factory

[filter:

xml_body]

paste.filter_factory=keystone.middleware:

XmlBodyMiddleware.factory

[filter:

json_body]

paste.filter_factory=keystone.middleware:

JsonBodyMiddleware.factory

[filter:

crud_extension]

paste.filter_factory=keystone.contrib.admin_crud:

CrudExtension.factory

[filter:

ec2_extension]

paste.filter_factory=keystone.contrib.ec2:

Ec2Extension.factory

[filter:

s3_extension]

paste.filter_factory=keystone.contrib.s3:

S3Extension.factory

[app:

public_service]

paste.app_factory=keystone.service:

public_app_factory

[app:

admin_service]

paste.app_factory=keystone.service:

admin_app_factory

[pipeline:

public_api]

pipeline=token_authadmin_token_authxml_bodyjson_bodydebugec2_extensions3_extensionpublic_service

[pipeline:

admin_api]

pipeline=token_authadmin_token_authxml_bodyjson_bodydebugec2_extensioncrud_extensionadmin_service

[app:

public_version_service]

paste.app_factory=keystone.service:

public_version_app_factory

[app:

admin_version_service]

paste.app_factory=keystone.service:

admin_version_app_factory

[pipeline:

public_version_api]

pipeline=xml_bodypublic_version_service

[pipeline:

admin_version_api]

pipeline=xml_bodyadmin_version_service

[composite:

main]

use=egg:

Paste#urlmap

/v2.0=public_api

/=public_version_api

[composite:

admin]

use=egg:

Paste#urlmap

/v2.0=admin_api

/=admin_version_api

∙建立log目录

sudomkdir/var/log/keystone

∙定义服务点新版把服务点(endpoint)的定义放在了一个文件中,只要写到这个文件也就可以了

sudovi/etc/keystone/default_catalog.templates

#configforTemplatedCatalog,usingcamelCasebecauseIdon'twanttodo

#translationsforlegacycompat

catalog.RegionOne.identity.publicURL=http:

//192.168.122.6:

$(public_port)s/v2.0

catalog.RegionOne.identity.adminURL=http:

//192.168.122.6:

$(admin_port)s/v2.0

catalog.RegionOne.identity.internalURL=http:

//192.168.122.6:

$(public_port)s/v2.0

catalog.RegionOne.identity.name='IdentityService'

catalog.RegionOpute.publicURL=http:

//192.168.122.6:

8774/v2/$(tenant_id)s

catalog.RegionOpute.adminURL=http:

//192.168.122.6:

8774/v2/$(tenant_id)s

catalog.RegionOpute.internalURL=http:

//192.168.122.6:

8774/v2/$(tenant_id)s

catalog.RegionOpute.name='ComputeService'

catalog.RegionOne.volume.publicURL=http:

//192.168.122.6:

8776/v1/$(tenant_id)s

catalog.RegionOne.volume.adminURL=http:

//192.168.122.6:

8776/v1/$(tenant_id)s

catalog.RegionOne.volume.internalURL=http:

//192.168.122.6:

8776/v1/$(tenant_id)s

catalog.RegionOne.volume.name='VolumeService'

catalog.RegionOne.ec2.publicURL=http:

//192.168.122.6:

8773/services/Cloud

catalog.RegionOne.ec2.adminURL=http:

//192.168.122.6:

8773/services/Admin

catalog.RegionOne.ec2.internalURL=http:

//192.168.122.6:

8773/services/Cloud

catalog.RegionOne.ec2.name='EC2Service'

catalog.RegionOne.image.publicURL=http:

//192.168.122.6:

9292/v1

catalog.RegionOne.image.adminURL=http:

//192.168.122.6:

9292/v1

catalog.RegionOne.image.internalURL=http:

//192.168.122.6:

9292/v1

catalog.RegionOne.image.name='ImageService'

∙启动认证服务

sudovi/etc/init/keystone.conf

description"KeystoneService"

startonrunlevel[2345]

stoponrunlevel[016]

respawn

execkeystone-all-config-file/etc/keystone/keystone.conf-d--debug

sudoln-sv/lib/init/upstart-job/etc/init.d/keystone

sudostartkeystone

∙建立表结构

sudokeystone-managedb_sync

∙定义角色,用户和服务

下面的脚本可以帮助你定义角色,用户和服务

运行脚本之前可以先通过下面命令确保keystone服务已经正常工作

然后修改脚本中相应的变量

#SERVICE_TOKENisdefinedin/etc/keystone/keystone.conf

exportSERVICE_TOKEN=openstack

exportSERVICE_ENDPOINT=http:

//192.168.122.6:

35357/v2.0

keystoneuser-list

∙你应该看到

+----------------------------------+---------+--------------------+--------+

|id|enabled|email|name|

+----------------------------------+---------+--------------------+--------+

+----------------------------------+---------+--------------------+--------+

catkeystone_data.sh

#!

/bin/bash

#

#InitialdataforKeystoneusingpython-keystoneclient

#

#AsetofEC2-compatiblecredentialsiscreatedforbothadminanddemo

#usersandplacedin$DEVSTACK_DIR/ec2rc.

#

#TenantUserRoles

#-------------------------------------------------------

#adminadminadmin

#serviceglanceadmin

#servicenovaadmin

#servicequantumadmin#ifenabled

#serviceswiftadmin#ifenabled

#demoadminadmin

#demodemoMember,sysadmin,netadmin

#invisible_to_admindemoMember

#

#Variablessetbeforecallingthisscript:

#SERVICE_TOKEN-akaadmin_tokeninkeystone.conf

#SERVICE_ENDPOINT-localKeystoneadminendpoint

#SERVICE_TENANT_NAME-na

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1