openstack开发文档.docx
- 文档编号:8102670
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:72
- 大小:3.09MB
openstack开发文档.docx
《openstack开发文档.docx》由会员分享,可在线阅读,更多相关《openstack开发文档.docx(72页珍藏版)》请在冰豆网上搜索。
openstack开发文档
OpenStackKiloinstall
2015年12月29日
一、实验拓扑架构
实验用电脑的配置为i7,16G内存,150G硬盘空间;centos7.1的镜像版本为:
CentOS-7-x86_64-Everything-1503-01.iso,可以根据个人的实际情况进行修改。
VMwareWorkstation的版本为11.1。
表1.1Openstack实际安装拓扑
使用网卡配置如下,本实验使用了回环网卡做内部通信使用,其它网卡桥接到无线网卡上。
图1.1VM虚拟网络的配置情况
图1.2虚拟机接口的配置
图1.3网络接口的添加与配置
手工配置好base系统的mac地址
图1.4网络接口MAC地址的配置
二、基础系统的安装
操作系统使用的是centos7.1,镜像版本为:
CentOS-7-x86_64-Everything-1503-01.iso,系统的安装过程可以参考下面的截图。
图2.1安装语言选择
图2.2安装的基本配置
图2.3安装虚拟化工具
安装时最好是一个网卡,安装完之后再添加其它网卡。
图2.4网络选项
图2.5密码设置及安装进度
图2.6安装完成
三、安装完之后的处理
操作系统安装完之后不能直接复制,还需要做些操作,要不然网络会出现问题。
这里为了方便使用做了本地yum及一些快捷命令。
3.1、本地yum的制作
系统镜像的挂载
图3.1自动挂载的设置
图3.2本地yum的配置文件
图3.3命令别名的建立
3.2网络yum的准备
1.安装yum-plugin-priorities包,以启用仓库中相对优先级的分配:
#yuminstallyum-plugin-priorities
2.OnRHELandCentOS,enabletheEPELrepository:
#yuminstall
注意:
Fedora不需要这个仓库
•安装包rdo-release-kilo以启用RDO仓库:
#yuminstall.
rpm
Selinux的处理
yuminstallopenstack-selinux
3.3其它相关操作
图3.4网卡删除掉hwaddr和uuid
注意:
网络节点的外网口要保留hwaddr和uuid,可以先备份出来。
外部网络接口使用特殊的配置,不分配IP地址。
将第三个接口配置为外部网络接口
图3.5网络节点外网卡的设置
主机名的修改
#hostnamectlsethostnamecontroller
Hosts解析的添加
#cat/etc/hosts
配置好各接口的地址base如下。
图3.6管理节点的各网卡的配置
四、建立集群
根据前面的拓扑结构建立起集群环境,都是由前的基础镜像复制出来的,然后修改主机名,修改MAC/IP地址,这里不详述。
4.1配置各节点
管理节点+网络节点
图4.1管理节点的各网卡的配置
计算结点
图4.2计算节点的各网卡的配置
存储结点
图4.3存储节点的各网卡的配置
主机名
图4.4主机名的配置
4.2验证各网络
管理+计算结点
图4.5管理节点的网络验证
计算结点
图4.6计算节点的网络验证
存储结点
图4.7存储节点的网络验证
五、集群环境的基本配置
必须安装NTP来正确地在各个节点之间同步服务。
我们推荐您配置控制节点来关联更准确的(下层的)服务器,然后将其他节点与控制节点关联。
5.1控制节点服务器
安装软件
#yuminstallntp
配置NTP服务
/etc/ntp.conf如果控制节点为controller,直接使用下面即可
servercontrolleriburst
restrict-4defaultkodnotrapnomodify
restrict-6defaultkodnotrapnomodify
#systemctlenablentpd.service
#systemctlstartntpd.service
其它节点Ntp的安装、配置与启动
yuminstallntp
修改配置文件/etc/ntp.conf,注释掉其它server选项
servercontrolleriburst
#systemctlenablentpd.service
#systemctlstartntpd.service
Ntp的验证
控制节点
ntpq-cpeers
ntpq-cassoc
图5.1管理节点的时间同步验证
5.2其它节点
ntpq-cpeers
ntpq-cassoc
图5.2计算节点的时间同步验证
图5.3存储节点的时间同步验证
5.3管理结点的基础包安装
安装并配置数据库服务
1.安装软件包:
注意PythonMySQL库和MariaDB是兼容的。
#yuminstallmariadbmariadb-serverMySQL-python
完成安装
图5.4mariadb的配置文件f
图5.5maridb的配置文件mariadb_f
1.启动数据库服务,并将其配置为开机自启:
#systemctlenablemariadb.service
#systemctlstartmariadb.service
2.对数据库进行安全加固(包括为数据库用户root设置适当的密码):
#mysql_secure_installation
#yuminstallrabbitmq-server
#systemctlenablerabbitmq-server.service
#systemctlstartrabbitmq-server.service
#rabbitmqctlchange_passwordguestRABBIT_PASS
六、Keystone身份认证服务
当安装OpenStack身份服务,用户必须将之注册到其OpenStack安装环境的每个服务。
身份服务才可以追踪那些OpenStack服务已经安装,以及在网络中定位它们。
6.1安装和配置
本章节是安装和配置Openstack身份认证服务,这里把keystone集成到了httpd的服务当中。
这里主要是管理节点的操作。
数据库相关操作
mysql-uroot–p mysql-uroot-p
CREATEDATABASEkeystone;
GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'\
IDENTIFIEDBY'KEYSTONE_DBPASS';
mysql-ukeystone-pKEYSTONE_DBPASS
生成一个随机值在初始的配置中作为管理员的令牌
[root@controller~]#opensslrand-hex10
b4412dace9a513f0dacf
运行以下命令来安装包
yuminstallopenstack-keystonehttpdmod_wsgipython-openstackclientmemcachedpython-memcached–y
启动Memcached服务并设置开机启动
systemctlenablememcached.service
systemctlstartmemcached.service
配置
/etc/keystone/keystone.conf配置内容如下:
[DEFAULT]
admin_token=b4412dace9a513f0dacf
[database]
connection=mysql:
//keystone:
KEYSTONE_DBPASS@controller/keystone
[memcache]
servers=localhost:
11211
[token]
provider=keystone.token.providers.uuid.Provider
driver=keystone.token.persistence.backends.memcache.Token
[revoke]
driver=keystone.contrib.revoke.backends.sql.Revoke
[DEFAULT]
verbose=True
初始化认证服务数据库
#su-s/bin/sh-c"keystone-managedb_sync"keystone
/etc/httpd/conf/httpd.conf
ServerNamecontroller
/etc/httpd/conf.d/wsgi-keystone.conf
Listen5000
Listen35357
5000> WSGIDaemonProcesskeystone-publicprocesses=5threads=1user=keystonegroup=keystonedisplay-name=%{GROUP} WSGIProcessGroupkeystone-public WSGIScriptAlias//var/ WSGIApplicationGroup%{GLOBAL} WSGIPassAuthorizationOn LogLevelinfo ErrorLogFormat"%{cu}t%M" ErrorLog/var/log/httpd/keystone-error.log CustomLog/var/log/httpd/keystone-access.logcombined
35357> WSGIDaemonProcesskeystone-adminprocesses=5threads=1user=keystonegroup=keystonedisplay-name=%{GROUP} WSGIProcessGroupkeystone-admin WSGIScriptAlias//var/ WSGIApplicationGroup%{GLOBAL} WSGIPassAuthorizationOn LogLevelinfo ErrorLogFormat"%{cu}t%M" ErrorLog/var/log/httpd/keystone-error.log CustomLog/var/log/httpd/keystone-access.logcombined
创建WSGI目录
mkdir-p/var/
生成main和admin文件
curl\
|tee/var//var/
配置权限
chown-Rkeystone:
keystone/var/
chmod755/var/*
设置开机启动并启动Memcached服务
systemctlenablehttpd.service
systemctlstarthttpd.service
配置管理员token:
exportOS_TOKEN=b4412dace9a513f0dacf
exportOS_URL=
创建服务实体和身份认证服务
openstackservicecreate\
--namekeystone--description"OpenStackIdentity"identity
openstackendpointcreate\
--publicurl\
--internalurl\
--adminurl\
--regionRegionOne\
Identity
快照
创建admin的tenants,users,androles
openstackprojectcreate--description"AdminProject"admin
openstackusercreate--password-promptadmin
密码
140511720
openstackrolecreateadmin
openstackroleadd--projectadmin--useradminadmin
openstackprojectcreate--description"ServiceProject"service
openstackprojectcreate--description"DemoProject"demo
openstackusercreate--password-promptdemo
140511720
创建demo用户
openstackrolecreateuser
openstackroleadd--projectdemo--userdemouser
ERROR:
openstackAuthorizationFailed:
Cannotauthenticatewithoutanauth_url
6.2校验keystone服务
unsetOS_TOKENOS_URL
openstack--os-auth-url\
--os-project-nameadmin--os-usernameadmin--os-auth-typepassword\
tokenissue
openstack--os-auth-url\
--os-project-domain-iddefault--os-user-domain-iddefault\
--os-project-nameadmin--os-usernameadmin--os-auth-typepassword\
tokenissue
openstack--os-auth-url\
--os-project-nameadmin--os-usernameadmin--os-auth-typepassword\
projectlist
openstack--os-auth-url\
--os-project-nameadmin--os-usernameadmin--os-auth-typepassword\
userlist
openstack--os-auth-url\
--os-project-nameadmin--os-usernameadmin--os-auth-typepassword\
rolelist
openstack--os-auth-url\
--os-project-domain-iddefault--os-user-domain-iddefault\
--os-project-namedemo--os-usernamedemo--os-auth-typepassword\
tokenissue
openstack--os-auth-url\
--os-project-domain-iddefault--os-user-domain-iddefault\
--os-project-namedemo--os-usernamedemo--os-auth-typepassword\
userlist
6.3创建openstack的用户脚本
viadmin-openrc.sh
exportOS_PROJECT_DOMAIN_ID=default
exportOS_USER_DOMAIN_ID=default
exportOS_PROJECT_NAME=admin
exportOS_TENANT_NAME=admin
exportOS_USERNAME=admin
exportOS_PASSWORD=ADMIN_PASS
exportOS_AUTH_URL=
demo-openrc.sh
exportOS_PROJECT_DOMAIN_ID=default
exportOS_USER_DOMAIN_ID=default
exportOS_PROJECT_NAME=demo
exportOS_TENANT_NAME=demo
exportOS_USERNAME=demo
exportOS_PASSWORD=DEMO_PASS
exportOS_AUTH_URL=
注意修改相应的密码。
七、Glnace镜像服务
7.1keystone的添加
创建数据库
mysql-uroot-p
CREATEDATABASEglance;
GRANTALLPRIVILEGESONglance.*TO'glance'@'%'\
IDENTIFIEDBY'GLANCE_DBPASS';
创建service和endpoint
sourceadmin-openrc.sh
openstackusercreate--password-promptglance
openstackroleadd--projectservice--userglanceadmin
openstackservicecreate--nameglance\
--description"OpenStackImageservice"image
openstackendpointcreate\
--publicurl\
--internalurl\
--adminurl\
--regionRegionOne\
image
7.2安装与配置
安装软件包
yuminstallopenstack-glancepython-glancepython-glanceclient-y
配置服务
vi/etc/glance/glance-api.conf快照
[database]
...
connection=mysql:
//glance:
GLANCE_DBPASS@controller/glance
[keystone_authtoken]
...
auth_uri=
auth_url=
auth_plugin=password
project_domain_id=default
user_domain_id=default
project_name=service
username=glance
password=
[paste_deploy]
...
flavor=keystone
[glance_store]
...
default_store=file
=/var/lib/glance/images/
[DEFAULT]
...
notification_driver=noop
[DEFAULT]
...
verbose=True
/etc/glance/glance-registry.conf
[database]
...
connection=mysql:
//glance:
GLANCE_DBPASS@controller/glance
[keystone_authtoken]
...
auth_uri=
auth_url=
auth_plugin=password
project_domain_id=default
user_domain_id=default
project_name=service
username=glance
password=140511720
[paste_deploy]
...
flavor=keystone
[DEFAULT]
...
notification_driver=noop
[DEFAULT]
...
verbose=True
初始化镜像服务数据库
#su-s/bin/sh-c"glance-managedb_sync"glance
设置开机启动及启动相应的服务
#systemctlenableopenstack-glance-api.serviceopenstack-glance-registry.service
#systemctlstartopenstack-glance-api.serviceopenstack-glance-registry.service
环境变量的添加
echo"exportOS_IMAGE_API_VERSION=2"|tee-aadmin-openrc.shdemo_openrc.sh
sourceadmin-openrc.sh
下载demo镜像
yuminstall-ywget
wget
7.3验证服务
镜像的上传
glanceimage-create--name"cirros-0.3.4-x86_64"----disk-formatqcow2--container-formatbare--visibilitypublic–progress
镜像的查看
glanceimage-list
图7.1镜像列表
八、块存储服务
8.1keystone服务的添加
数据库操作
mysql–uroot–p
CREATEDATABASEcinder;
GRANTALLPRIVILEGESONcinder.*TO'cinder'@'%'\
IDENTIFIEDBY'CINDER_DBPASS';
sourceadmin-openrc.sh
openstackusercreate--password-promptcinder
openstackroleadd--projectservice--usercinderadmin
openstackservicecreate--namecinder\
--description"OpenStackBlockStorage"volume
openstackservicecreate--namecinderv2\
--description"OpenStackBlockStorage"volumev2
openstackendpointcreate\
-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- openstack 开发 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)