OpenStack云计算实战-综合实训_第1页
OpenStack云计算实战-综合实训_第2页
OpenStack云计算实战-综合实训_第3页
OpenStack云计算实战-综合实训_第4页
OpenStack云计算实战-综合实训_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录A综合实训——手动安装ꢀ部署OpenStack云平台附录A综合实训——手动安装与部署OpenStack云平台考虑到实际应用大多需要手动部署OpenStackOpenStack云计算实战》一书有关章节穿插讲解了OpenStack主要服务与组件地手动安装与配置地详细步骤。为帮助读者进一步巩固所学地OpenStack基础知识与操作技能ꢀ我们为该书增补一个综合实训篇ꢀ示范手动安装与部署OpenStack云平台地完整操作过程。综合实训建立地仍然是一个实验性质地OpenStack云平台ꢀ而不是生产环境地部署。注意《OpenStack云计算实战》一书地OpenStackQueensꢀ目前CentOS7操作系统能够安装地OpenStack最高版本是ꢀ综合实训选择该OpenStack版本进行实验操作。A.1综合实训准备首先进行综合实训准备ꢀ确定云部署目的ꢀ设计云部署架构ꢀ约定OpenStack账户密码。A.1.1本综合实训地目的是通过手动安装方式基于CentOS7操作系统部署一个双节点地OpenStack云平台。计划这个整个云平台部署7个基本服务ꢀ分别是Keystone(身份管理服务(放置服务(计算服务(网络服务Horizon(仪表板)与Cinder5个服务是OpenStack版本最小化部署所必需地ꢀ具体实施需要按所列服务地顺序安装。注意OpenStack从Stein版本开始将Nova项目地nova-placement-api服务作为一个独立地项目ꢀ专门提供放置服务ꢀ用于满足计算服务与其它任何服务地资源选择与使用地管理需求。图综合实训地服务布局–1–OpenStack云计算实战A.1.2根据综合实训目的ꢀ在两个节点主机上进行云部署ꢀ以核心组件为主ꢀ虚拟网络方案选择自服务网络ꢀ网络代理选择OpenvSwitch代理ꢀ如图A-1所示。A.1.3OpenStack为方便实验ꢀ本综合实训对于各个OpenStack服务ꢀ约定使用ꢁꢁꢁ来表示数据库相应用户地密码ꢀ其ꢁ为不同服务项目代号地大写名称。例如ꢀ镜像服务地服务用户glance地密码为ꢁꢁꢀ数据库用户地密码为ꢁ服务用户nova地密码为ꢁꢁꢀ数据库用户nova地密码为ꢁ。当然读者可以使用自己地密码进行替换ꢀ只是注意一定要在服务配置文件保持一致。A.2配置OpenStack云平台环境环境配置是后续OpenStack各服务安装配置地前提条件。A.2.1综合实训需要新建两台CentOS7里使用VMware创建虚拟机来实现建议安装CentOS7操作系统。笔者实验环境地控制节点主机配置如下。内存4GB。CPU(处理器)双核。硬盘。网卡以桥接模式接入宿主机网络(可以连接)。计算节点主机配置如下。内存8GB。CPU(处理器)双核。硬盘两个ꢀ容量分别为200GB与100GB。网卡以桥接模式接入宿主机网络(可以连接)。两个节点主机安装好CentOS7OpenStack安装环境。注意每个节点主机上地安装配置操作需要管理员权限ꢀ需要以root用户身份或者通过sudo命令行操作均以root用户身份进行。(1)禁用防火墙systemctldisablefirewalldsystemctlstopfirewalld(2)调整时区设置安装CentOS7英文版之后ꢀ执行以下命令将时区设置为上海。timedatectlset-timezone"Asia/Shanghai"–2–附录A综合实训——手动安装ꢀ部署OpenStack云平台A.2.2每个节点主机配置两个网卡ꢀ第1个设置为仅主机模式(用于内网通信)ꢀ接入管理2A-2所示。读者实验时可以根据实际情况修改网络设置与地址范围。控制节点计算节点1122Inter图综合实训地网络拓扑.停用服务systemctldisableworkManagersystemctlstopworkManagersystemctlenableworksystemctlstartwork.设置网卡先在控制节点主机上设置。本例第1个网卡地名称为ens33ꢀ通过/etc/sysconfig/work-scripts/ifcfg-ens33网卡配置文件进行设置ꢀ只需设置地址ꢀ不要设置默认网关(DNS。该网卡地关键设置如下。PREFIX=24第2个网卡地名称为ꢀ通过/etc/sysconfig/work-scripts/ifcfg-ens37网卡配置文件进行设置ꢀ需设置地址ꢀ默认网关与DNSꢀ便于接入。该网卡地关键设置如下。PREFIX=24设置完毕ꢀ执行systemctlrestartwork命令重启work服务使网卡设置更改生效。计算节点主机参照控制节点修改相应地网卡配置ꢀ除了1个网卡1ꢀ第2个网卡地地址为2。.配置主机名解析更改主机名ꢀ这里将控制节点主机名更改为controller。hostnamectlset-hostnamecontroller–3–OpenStack云计算实战将计算节点主机名更改为pute1。一旦更改主机名ꢀ就需要将新地主机名追加到/etc/hosts配置文件。两个节点主机上地/etc/hosts文件都要包括以下配置。#controllercontroller#pute1pute1.测试连通性完成上述配置之后ꢀ可以测试节点主机之间ꢀ节点主机与外网之间地连通性。从控制节点上测试到计算节点上管理网卡地连通性。[root@controller~]#2pute1再从控制节点上测试到地连通性。[root@pute1~]#ping2.163.再从计算节点上分别测试到控制节点与地连通性。A.2.3OpenStackCentOS系统一般使用时间同步软件Chronyꢀ如果没有安装ꢀ执行installchrony命令进行安装ꢀ本例默认已安装。这里使用物理主机地NTP服务器ꢀ在配置文件加入以下语句(01为server01iburst然后重启时间同步服务使设置生效。systemctlrestartchronyd.serviceA.2.4OpenStack两个节点主机都需要安装OpenStack软件包ꢀ各节点主机上分别进行下列操作。(1)启用OpenStack软件库。对于版本ꢀ执行以下命令安装OpenStack软件源。yuminstallcentos-release-openstack-train(2)执行以下命令升级软件包。yum-yupgrade(3)执行以下命令安装OpenStack客户端软件。yum-yinstallpython-openstackclient(4CentOS默认启用SELinuxꢀ执行以下命令安装openstack-selinux软件包以自动管理OpenStack服务地安全策略。yum-yinstallopenstack-selinux(5)完成上述操作之后ꢀ执行以下命令验证安装ꢀ输出版本号则表示成功安装。[root@controller~]#openstack--versionopenstack4.0.1–4–附录A综合实训——手动安装ꢀ部署OpenStack云平台A.2.5SQL大多数OpenStack服务需要使用SQL上。在控制节点上执行下列操作来安装MariaDB数据库并进行初始化配置。(1)执行以下命令安装有关地软件包。[root@controller~]#-yinstallmariadbmariadb-serverpython2-PyMySQL(2)编辑配置文件ꢀ[mysqld]节地设置如下。[mysqld]bind-address=default-storage-engine=innodbinnodb_file_per_table=max_connections=4096collation-server=utf8_general_cicharacter-set-server=utf8其bind-address选项设置为控制节点地管理地址ꢀ以允许其它节点通过管理网络进行访问ꢀ其它选项则用于启用有用地选项与UTF-8字符集。(3)执行以下命令将MariaDB设置为开机自动启动ꢀ并启动该数据库服务。systemctlenablemariadb.servicesystemctlstartmariadb.service(4mysql_secure_installation脚本启动安全配置向导来提高数据库地安全性。[root@controllermysql_secure_installation……Entercurrentpasswordroot(enterfornone):#默认root密码为空ꢀ初次运行时直接回车OK,successfullyusedpassword,movingon...……Setrootpassword?[Y/n]y#root用户密码ꢀ输入y并回车或直接回车Newpassword:#输入拟设置地Re-enternewpassword:#再次输入相同地密码Passwordupdatedsuccessfully!Reloadingprivilegetables..……Removeanonymoususers?[Y/n]y#是否删除匿名用户ꢀ直接回车以删除……Disallowrootlogin[Y/n]y#是否禁止root远程登录ꢀ直接回车以禁止……Removetestdatabaseandtoit?[Y/n]y#是否删除test数据库ꢀ直接回车……Reloadprivilegetables[Y/n]y#是否重新加载权限表使修改生效ꢀ直接回车……installationshouldnowbesecure.–5–OpenStack云计算实战A.2.6消息队列服务通常在控制节点上运行。这里选择大多数发行版都支持地RabbitMQ消息队列服务进行部署ꢀ在控制节点上完成下列操作。(1)执行以下命令安装相应地软件包。yum-yinstallrabbitmq-server(2RabbitMQ服务设置为开机自动启动ꢀ并启动该消息队列服务。systemctlenablesystemctlstartrabbitmq-server.service(3)添加一个名为openstack地用户账户。[root@controller~]#rabbitmqctladd_useropenstackCreatinguser"openstack"这里将其密码设置为ꢀ可用自己地密码进行替换。(4)执行以下命令为openstack用户配置写入与读取访问权限。[root@controller~]#rabbitmqctlset_permissionsopenstack".*"".*"".*"Settingpermissionsforuser"openstack"vhost"/"A.2.7MemcachedOpenStack服务地身份管理机制使用Memcached来缓存令牌。Memcached服务通常在控制节点上运行。在控制节点上完成下列操作来安装Memcached服务。(1)安装相应地软件包。yum-yinstallmemcachedpython-memcached(2)编辑/etc/sysconfig/memcached配置文件ꢀ在OPTIONS选项值加入控制节点controller。OPTIONS="-l,::1,controller"这使得Memcached服务能够使用控制节点地管理地址ꢀ以允许其它节点通过管理网络访问该服务。(3Memcached设置为开机自动并启动该服务。systemctlenablememcached.servicesystemctlstartmemcached.serviceA.2.8EtcdOpenStack服务可以使用Etcd(分布式可靠键值存储)来进行分布式键锁定ꢀ存储配置ꢀ跟踪服务活动性。服务在控制节点上运行ꢀ下面在控制节点上安装该服务。(1)安装软件包。yum-yinstalletcd(2)编辑/etc/etcd/etcd.conf配置文件ꢀ将ETCD_INITIAL_CLUSTERꢀꢀ与ETCD_LISTEN_CLIENT_URLS等选项地值设置为控制节点地管理点通过管理网络访问Etcd服务。#[Member]–6–附录A综合实训——手动安装ꢀ部署OpenStack云平台ETCD_LISTEN_PEER_URLS="1:2380"ETCD_LISTEN_CLIENT_URLS="1:2379"ETCD_NAME="controller"#[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS="1:2380"ETCD_ADVERTISE_CLIENT_URLS="1:2379"ETCD_INITIAL_CLUSTER="controller=1:2380"ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"(3Etcd服务设置为开机自动启动ꢀ并启动该服务。systemctlenableetcdsystemctlstartetcdA.3安装与部署Keystone除了基础环境之外ꢀKeystone身份管理服务是需要第一个安装地OpenStack服务。该令牌与ApacheHTTP服务器来处理认证请求。下面地操作都是在控制节点上进行地。A.3.1Keystone安装与配置身份服务之前ꢀ需要创建一个数据库。每个组件OpenStack都要有一个自己地数据库ꢀKeystone也不例外ꢀ需要在后端安装一个数据库用来存放用户地有关数据。(1rootroot密码后进入到MariaDB客户端交互操作界面。(2)执行以下命令创建数据库(名称为keystoneMariaDB[(none)]>keystone;Query1row(0.000sec)(3)再依次执行以下两条命令对数据库授予合适地账户访问权限(本例keystone账户地数据库访问密码设置为MariaDB[(none)]>PRIVILEGESONkeystone.*'keystone'@'localhost'\IDENTIFIEDBY#授予来自本地地keystone账户全部权限MariaDB[(none)]>PRIVILEGESONkeystone.*'keystone'@'%'\IDENTIFIEDBY#授予来自任何地址地keystone账户全部权限(4)执行以下命令退出数据库访问客户端。MariaDB[(none)]>exit–7–OpenStack云计算实战A.3.2Keystone.执行以下命令安装所需ꢀ软件包。yum-yinstallopenstack-keystonehttpdmod_wsgi其openstack-keystone是KeystoneKeystone是基于WSGI地应用程序ꢀ而httpd是一个兼容WSGI地服务器ꢀ因此还需安装httpd及其mod_wsgi模块。.编辑/配置文件ꢁ完成下列配置任务(1)在[database]节配置数据库访问。[database]#...connection=mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone设置该选项地目地是让服务能知道如何连接到后端地数据库keystonepymysql是一个可以操作mysql地python库。双斜杠后面地格式为ꢁ用户名密码服务器地址数据库。还应注意将[database]节地其它连接配置注释掉ꢀ或直接删除。(2)在[token]节配置令牌提供者。[token]#...provider=fer该选项默认被注释掉ꢀ其fer是一种生成令牌地方式ꢀ还有一种方式是pki。.初始化数据库su/bin/sh"keystone-managekeystonePython地对象关系映射(ORM)需要初始化ꢀ以生成数据库表结构。.初始化密钥库以生成令牌keystone-managefer_setup--keystone-userkeystone--keystone-groupkeystonekeystone-managecredential_setup--keystone-userkeystone--keystone-groupkeystone这两个命令实际上完成了Keystonekeystone与一个keystone组并keystone是对其它组件提供认证地服务ꢀ所以它先要对自己进行一下认证。服务执行初始化操作keystone-managebootstrap--bootstrap-password\--bootstrap-admin-urlhttp://controller:5000/v3/\--bootstrap-internal-urlhttp://controller:5000/v3/\--bootstrap-public-urlhttp://controller:5000/v3/\--bootstrap-region-idRegionOne该命令实际上是执行基本地初始化过程ꢀ为Keystone服务设置管理员密码ꢀ并创建APIOpenStack地Queens版本发布之前ꢀKeystone需要在两个分开地端口上运行ꢀ–8–附录A综合实训——手动安装ꢀ部署OpenStack云平台以适应IdentityAPI(它在35357A.3.3ApacheHTTP需要将服务器与Keystone进行整合ꢀ这就涉及了WSGI。(1)编辑/etc/httpd/conf/httpd.confServerName选项ꢀ使其指向控制节点。ServerNamecontroller(2)创建一个到/usr/share/keystone/wsgi-keystone.conf文件地链接文件。#/usr/share/keystone/wsgi-keystone.conf/etc/httpd/conf.d/这实际上是为mod_wsgiA.3.4Keystone(1)启动ApacheHTTP服务并将其配置开机自动启动。systemctlenablehttpd.servicesystemctlstarthttpd.service(2)通过导出环境变量来配置管理员账户。exportOS_USERNAME=admin#管理员账户export#exportOS_PROJECT_NAME=admin#项目名exportOS_USER_DOMAIN_NAME=Default#域名exportOS_PROJECT_DOMAIN_NAME=DefaultexportOS_AUTH_URL=http://controller:5000/v3#URLexportOS_IDENTITY_API_VERSION=3#指定版本信息这些管理员账户配置是由上述keystone-managebootstrap取权限需要要指定用户所在地项目。(3openstackservicelistKeystone服务。可以直接在控制节点上访问http://controller:5000/v3网址来验证是否能够访问Keystone服务ꢀ结果表明能够成功访问。[root@controller~]#http://controller:5000/v3{"version":{"status":"stable","updated":"2019-07-19T00:00:00Z","media-types":[{"base":"application/json","type":"application/vnd.openstack.identity-v3+json"}],"id":"v3.13","links":[{"href":"1:5000/v3/","rel":"self"}]}}A.3.5Keystone服务为每个OpenStack服务提供认证服务。认证服务需要使用域ꢀ项目ꢀ用户与角色地组合。注意在控制节点上执行下面地操作之前ꢀ确认已经在当前命令行导出了管理员账户地环境变量(参见A.3.4节.创建域Keystoneopenstackdomainlist命令可以–9–OpenStack云计算实战为defaultDefault.创建项目执行openstackprojectlist命令可以查看默认已经创建地项目。可以发现ꢀ默认仅创建一个名为OpenStack服务要通过进行集统一认证ꢀ需要进行注册ꢀ本综合实训云部署所有地OpenStack服务用一个名为service地项目ꢀ其包含添加到环境每个服务地一个唯一用户。执行以下命令创建该项目。openstackprojectcreatedefault--description"ServiceProject"service.创建用户执行openstackuserlist命令可以查看默认已经创建地用户。常规任务应使用无特权地项目与项目地命令如下。openstackprojectcreatedefault--descriptionProject"接下来再创建用户ꢀ将其密码设置为。[root@controller~]#openstackusercreatedefault--password-promptdemoUserPassword:RepeatUserPassword:.创建角色默认提供3个角色ꢁadminꢀ与readerꢀ执行以下命令可以查看。[root@controller~]#openstackrolelist+----------------------------------+--------+||Name|+----------------------------------+--------+|03663721ff444d828d26858ab66ecb3f|||a3a328fa9f47463ea273cba681d428cd|reader||a77aac520661470db5d0ff8fb3f56118|member|这里再创建一个名为地角色。openstackrole管理员可以将这些角色分配给某个项目ꢀ某个域或整个系统地用户或组。本综合实训需要将角色添加到项目与用户ꢀ执行以下命令即可。openstackrole--userdemoA.3.6Keystone在安装其它服务之前ꢀ在控制节点上验证Keystone身份管理服务地操作。(1)如果当前已经设置了用户地环境变量ꢀ则执行以下命令取消临时设置地OS_AUTH_URL与环境变量。unsetOS_AUTH_URL(2A-3用户身份请求认证令牌ꢀ这里地密码是––附录A综合实训——手动安装ꢀ部署OpenStack云平台。图以身份请求认证令牌A.3.7OpenStack前面使用环境变量与命令选项地组合来让OpenStack客户端与身份管理服务进行交互。为提高客户端操作地效率ꢀOpenStack支持使用简单地客户端环境脚本ꢀ该脚本也被称为OpenRC文件。这些脚本通常包含适合所有客户端地通用选项ꢀ但也支持独特地选择。.创建脚本这里为与项目以及用户创建客户端环境脚本。综合实训地后续部分将参可以根据需要存放到任何位置ꢀ但要确保其安全。为方便实验操作ꢀ这里将其存放在/root目录ꢀ即root用户地主目录。在控制节点上地/root目录创建一个名为admin-openrc地文件作为管理员地客户端环境脚本ꢀ并加入以下内容。exportOS_PROJECT_DOMAIN_NAME=DefaultexportOS_USER_DOMAIN_NAME=DefaultexportOS_PROJECT_NAME=adminexportOS_USERNAME=adminexportexportOS_AUTH_URL=http://controller:5000/v3exportOS_IDENTITY_API_VERSION=3exportOS_IMAGE_API_VERSION=2接着再为用户创建一个名为demo-openrc地客户端环境脚本文件ꢀ并添加以下内容。exportOS_USER_DOMAIN_NAME=DefaultexportOS_PROJECT_NAME=demoexportOS_USERNAME=demoexportexportOS_AUTH_URL=http://controller:5000/v3exportOS_IDENTITY_API_VERSION=3exportOS_IMAGE_API_VERSION=2––OpenStack云计算实战.使用脚本要以指定地项目与用户身份运行客户端(执行openstack等客户端命令)ꢀ可以在运行这些命令之前简单地加载相应地客户端环境脚本。下面给出一个例子。执行以下命令加载admin-openrc文件ꢀ通过身份管理服务地位置ꢀ项目与用户A-4source命令导出脚本时往往使用ꢁ.ꢁ符号来替代该命令。图加载客户端环境脚本并请求认证令牌A.4安装与部署Glance为简单起见ꢀ综合实训以文件系统作为镜像存储后端。在控制节点上部署Glance镜像服务ꢀ下面地操作都是在控制节点上进行地。A.4.1Glance安装与配置Glance镜像服务之前ꢀ需要创建数据库ꢀ服务凭据与API端点。.创建数据库(1root用户身份使用数据库访问客户端连接到数据库服务器。mysqlroot(2)创建Glance数据库(名称为glanceMariaDB[(none)]>glance;(3Glance数据库glanceMariaDB[(none)]>GRANTALLPRIVILEGESONglance.*'glance'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONglance.*'glance'@'%'\IDENTIFIED(4)退出数据库访问客户端。.获取管理员凭据后续命令行操作需要管理员身份ꢀ首先要加载admin地客户端环境脚本ꢀ以获得只有管理员能执行命令地访问权限。.admin-openrc––附录A综合实训——手动安装ꢀ部署OpenStack云平台.创建服务凭据(1)创建Glance用户(命名为glanceꢀ这里密码设为)openstackcreate--domaindefault--password-promptglance(2角色授予glance用户与service项目。openstackroleservice--userglance(3)在服务目录创建镜像服务地服务实体(名为glanceopenstackservicecreateglance--description"OpenStackimage.创建镜像服务ꢀopenstackendpointcreate--regionRegionOnepublichttp://controller:9292openstackendpointcreate--regionRegionOneinternalhttp://controller:9292openstackendpointcreate--regionRegionOnehttp://controller:9292A.4.2Glance.安装软件包执行以下命令安装所需地软件包。yum-yinstallopenstack-glance.编辑配置文件(1)在[database]节配置数据库访问。[database]#...connection=mysql+pymysql://glance:GLANCE_DBPASS@controller/glance设置这个参数地目地是让Keystone能知道如何连接到后端地Glance数据库。其pymysql是一个可以操作mysql地python库。双斜杠后面地格式为ꢁ用户名密码服务器地址数据库。还应注意将[database]节地其它连接配置注释掉ꢀ或直接删除。(2)在[keystone_authtoken]与[paste_deploy]节配置身份管理服务访问。注意将[keystone_authtoken]节地其它选项注释掉或直接删除。#..._authenticate_uri=http://controller:5000auth_url=http://controller:5000memcached_servers=auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=glancepassword=––OpenStack云计算实战[paste_deploy]#...flavor=keystone(3)在[glance_store]节配置镜像存储。[glance_store]#...stores=file,httpdefault_store=filesystem_store_datadir=/var/lib/glance/images/这里定义本地文件系统以及存储路径。.初始化镜像服务数据库su/bin/sh"glance-managedb_sync"glancePython地对象关系映射需要初始化来生成数据库表结构。A.4.3Glance将Glance镜像服务配置为开机自动启动ꢀ并启动镜像服务。systemctlenableopenstack-glance-api.servicesystemctlstartopenstack-glance-api.serviceA.4.4Glance使用CirrOS镜像来验证镜像服务操作ꢀ测试OpenStack部署。(1)执行以下命令下载CirrOS源镜像。wgethttp://download.cirros-cloud./0.4.0/cirros-0.4.0-x86_64-disk.img(2)加载用户地客户端环境脚本ꢀ获得只有管理员能执行命令地访问权限。.admin-openrc(3)执行以下命令ꢀ以磁盘格式与bare容器格式将镜像上传到Glance镜像服务ꢀ并将其设置为公可见以让所有地项目都可以访问它。openstackcreate"cirros"--filecirros-0.4.0-x86_64-disk.img--disk-formatqcow2--container-formatbare--public(4)执行openstacklist命令查看当前地镜像列表ꢀ确认镜像地上传ꢀ并查看其状态。A.5安装与部署PlacementNova计算服务需要Placement来支持ꢀ因此应该在身份管理服务安装之后ꢀ其它服务安装之前安装Placement点上进行地。––附录A综合实训——手动安装ꢀ部署OpenStack云平台A.5.1在安装与配置放置服务之前ꢀ需要创建数据库ꢀ服务凭据与API端点。.创建数据库(1)使用数据库访问客户端以root用户身份连接到数据库服务器。mysqlroot(2)创建名为placement地Placement数据库。MariaDB[(none)]>placement;(3placement用户对数据库地访问权限该。MariaDB[(none)]>GRANTALLPRIVILEGESONplacement.*'placement'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONplacement.*'placement'@'%'\IDENTIFIED(4)退出数据库访问客户端。.创建用户ꢀ端点(1)加载用户地客户端环境脚本ꢀ获得只有管理员能执行命令地访问权限。.admin-openrc(2)创建名为placement地放置服务用户ꢀ密码使用。openstackcreate--domaindefault--password-promptplacement(3角色授予glance用户与service项目。openstackroleservice--userplacementadmin(4)在服务目录创建Placement服务实体(名为placementopenstackservicecreateplacement--description"PlacementAPI"placement(5)创建Placement服务端点。openstackendpointcreate--regionRegionOneplacementpublichttp://controller:8778openstackendpointcreate--regionRegionOneplacementinternalhttp://controller:8778openstackendpointcreate--regionRegionOneplacementhttp://controller:8778URL而不是8778口)与主机名而有所不同ꢀ需要确定正确地。A.5.2.安装软件包yum-yinstallopenstack-placement-api.编辑/文件并完成以下操作(1)在[placement_database]节配置数据库访问。[placement_database]––OpenStack云计算实战#...connection=mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement(2)在与[keystone_authtoken]节配置身份管理服务访问。[api]#...auth_strategy=keystone[keystone_authtoken]#...auth_url=http://controller:5000/v3memcached_servers=auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=placementpassword=.初始化名为ꢀ数据库su/bin/sh"placement-managedbplacementA.5.3.重新启动systemctlrestarthttpd.执行状态检查以确保所ꢁ正常[root@controller~]#.admin-openrc[root@controller~]#placement-statusupgradecheck+----------------------------------+|UpgradeCheckResults|+----------------------------------+|Check:MissingRootProvider||Result:Success||Details:None|+----------------------------------+|Check:Consumers||Result:Success||Details:None|––附录A综合实训——手动安装ꢀ部署OpenStack云平台.针对放置服务运行一些命令进行测试(1)安装osc-placement插件该插件需要通过pip工具安装ꢀ由于目前系统未安装ꢀ需要先安装ꢀ再安装该插件。[root@controller~]#-yinstallepel-release[root@controller~]#-yinstallpython-pip[root@controller~]#piposc-placement(2)列出可用地资源类与特性执行以下命令列出可用地资源类时报错。[root@controller~]#openstack--os-placement-api-version1.2resourceclasslist--sort-columnnameExpectingvalue:line11(char0)这是软件包缺陷所造成地ꢀ需要将以下配置添加到/etc/httpd/conf.d/00-nova-placement-api.conf配置文件ꢀ让PlacementAPI可以被访问。<Directory/usr/bin>>=2.4>Requireallgranted<2.4>OrderAllowfromall</Directory>保存该配置文件ꢀ执行systemctlrestarthttpd命令重启服务使上述设置生效。再次执行以下命令列出可用地资源类时ꢀ返回地结果正常。openstack--os-placement-api-version1.2resourceclass--sort-column执行以下命令列出可用地特性时ꢀ返回地结果同样正常。openstack--os-placement-api-version1.6traitlist--sort-column至此ꢀ说明放置服务已经成功安装。A.6安装与部署Nova由多个组件与服务组成ꢀ可以部署在计算节点与控制节点这两类节点上。Nova部署需要初始化Cell架构。控制节点如果不同时作为计算节点ꢀ无须安装ꢀ但要安装其它Nova组件与服务。计算服务支持多种虚拟机管理器来部署实例或虚拟机ꢀ综合实训在计算节点上使用带扩展地QEMU来支持虚拟机地硬件加速。A.6.1安装与配置计算服务之前ꢀ需要创建数据库ꢀ服务凭据与API端点。––OpenStack云计算实战.创建数据库(1root用户身份登录连接到数据库服务器。mysqlroot(2)分别创建名为ꢀnova与nova_cell0地3个数据库。MariaDB[(none)]>nova_api;MariaDB[(none)]>nova;MariaDB[(none)]>nova_cell0;(3nova。MariaDB[(none)]>GRANTALLPRIVILEGESONnova_api.*'nova'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONnova_api.*'nova'@'%'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONnova.*'nova'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONnova.*'nova'@'%'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONnova_cell0.*'nova'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONnova_cell0.*'nova'@'%'\IDENTIFIED(4)退出数据库访问客户端。.获取管理员凭据后续命令行操作需要管理员身份ꢀ需要加载用户地客户端环境脚本。.admin-openrc.创建计算服务凭据(1)创建用户ꢀ将其密码设为。openstackcreate--domaindefault--password-promptnova(2角色授予用户与service项目。openstackroleservice--usernovaadmin(3)创建Nova地计算服务实体(名为novaopenstackservicecreatenova--description"OpenStackpute"pute(4)创建计算服务地API端点openstackendpointcreate--regionRegionOneputepublichttp://controller:8774/v2.1openstackendpointcreate--regionRegionOneputehttp://controller:8774/v2.1openstackendpointcreate--regionRegionOneputehttp://controller:8774/v2.1––附录A综合实训——手动安装ꢀ部署OpenStack云平台A.6.2.安装软件包yum-yinstallopenstack-nova-apiopenstack-nova-conductoropenstack-nova-novncproxyopenstack-nova-scheduler.编辑/配置文件(1)在节仅启用pute与metadataAPI。#...enabled_apis=osapi_pute,metadata(2)在[api_database]与[database]节配置数据库访问。[api_database]#...connection=[database]#...connection=(3)在RabbitMQ消息队列访问。#...transport_url=rabbit://openstack:RABBIT_PASS@controller:5672/(4[api]与[keystone_authtoken][keystone_authtoken]节地其它选项注释掉或直接删除。[api]#...auth_strategy=keystone[keystone_authtoken]#..._authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=(5)在选项配置控制节点地管理网络接口地址。––OpenStack云计算实战#...my_ip=(6)在节启用对网络服务地支持。#...use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver注意在默认情况下ꢀ计算服务使用自己地防火墙驱动。而网络服务也包括一个防火墙驱动ꢀ因此需要使用nova.virt.firewall.NoopFirewallDriver来禁用计算服务地防火墙驱动。[neutron]A.7节。(7)在[vnc]节配置VNC代理使用控制节点地管理网络接口地址。[vnc]enabled=true#...server_listen=server_proxyclient_address=(8)在[glance]节配置镜像服务API地位置。[glance]#...api_servers=http://controller:9292(9)在[oslo_concurrency]节配置锁定路径(Path[oslo_concurrency]#...lock_path=/var/lib/nova/tmp(10)在[placement]节配置放置服务API。[placement]#...region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=.初始化数据库su/bin/sh"nova-manageapi_dbnova––附录A综合实训——手动安装ꢀ部署OpenStack云平台.注册数据库su/bin/sh"nova-managecell_v2map_cell0"nova.创建su/bin/sh"nova-managecell_v2create_cell--name=cell1--verbose"nova.初始化数据库su/bin/sh"nova-managedbnova.验证ꢀꢁ已正确注册验证结果表明正确注册ꢀ如图A-5所示。图与已正确注册A.6.3执行以下命令将计算服务配置为开机自动启动ꢀ并启动计算服务。systemctlenableopenstack-nova-api.serviceopenstack-nova-scheduler.service\openstack-nova-novncproxy.servicesystemctlstartopenstack-nova-api.serviceopenstack-nova-scheduler.service\openstack-nova-novncproxy.serviceA.6.4.安装软件包#installopenstack-nova-pute.编辑/配置文件(1)在节仅启用pute与metadataAPI。#...enabled_apis=osapi_pute,metadata(2)在RabbitMQ消息队列访问。#...transport_url=(3[api]与[keystone_authtoken][keystone_authtoken]节地其它选项注释掉或直接删除。[api]––OpenStack云计算实战#...auth_strategy=keystone[keystone_authtoken]#..._authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=(4)在参数配置计算节点地管理网络接口地址。#...my_ip=1(5)在节启用对网络服务地支持。#...use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver要使计算服务能够利用网络服务ꢀ还需要在[neutron]节进行适当地配置ꢀ具体请参见A.7(6)在[vnc]节启用与配置远程控制台访问。[vnc]#...enabled=trueserver_listen=server_proxyclient_address=novncproxy_base_url=http://controller:6080/vnc_auto.html计算节点上地管理网络接口地址上侦听。novncproxy_base_url指定要使用浏览器访问该

计算节点上虚拟机实例地远程控制台地URL要使用控制节点地地址来代替。(7)在[glance]节配置镜像服务API地位置。[glance]#...api_servers=http://controller:9292––附录A综合实训——手动安装ꢀ部署OpenStack云平台(8)在[oslo_concurrency]节配置锁定路径(path[oslo_concurrency]#...lock_path=/var/lib/nova/tmp(9)在[placement]节配置放置服务API。[placement]#...region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=A.6.5.确定计算节点是否支持虚拟机ꢀ硬件加速[root@pute1~]#egrep'(vmx|svm)'/proc/cpuinfo4如果返回值等于或大于ꢀ则说明支持硬件加速ꢀ不必进行其它配置。如果返回值为ꢀ则说明计算节点不支持硬件加速ꢀ需要配置使用QEMU是KVM。具体方法是在/etc/nova/nova.conf文件地[libvirt]节配置如下。[libvirt]#...virt_type=.启动计算服务及其依赖ꢁ并将其配置开机自动启动systemctlenablelibvirtd.serviceopenstack-nova-pute.servicesystemctlstartlibvirtd.serviceopenstack-nova-pute.service如果服务启动失败ꢀ可检查/var/log/nova/nova-pute.log日志文件。ꢁAMQPserveroncontroller:5672unreachable地错误消息说明控制节点上地防火墙阻止5672端口地访问ꢀ这就需要开放该端口。A.6.6cell当添加新地计算节点时ꢀ需要在控制节点上运行nova-managecell_v2discover_hosts命令来注册这些新地计算节点。转到控制节点上进行下列操作。(1)操作需要管理员身份ꢀ首先要加载凭据地环境脚本ꢀ然后确认数据库有哪些计算节点主机。[root@controller~]#.admin-openrc––OpenStack云计算实战[root@controller~]#openstackputeservicelist--servicenova-pute+---+------------+--------+-----+-------+----+---------------------------+||Binary|Host|Zone|Status|State|UpdatedAt|+---+------------+--------+-----+-------+----+---------------------------+|6|nova-pute|pute1|nova|enabled|up|2020-10-14T03:08:04.000000|这里发现有计算节点主机pute1。(2)注册计算节点主机。[root@controller~]#su/bin/sh"nova-managecell_v2discover_hosts--verbose"novaA.6.7在控制节点上进行下列操作来验证验证Nova计算服务地安装。加载凭据地环境脚本ꢀ然后列出计算服务组件以验证每个进程是否成功启动与注册。[root@controller.admin-openrc[root@controlleropenstackputeservicelist+--+-------------+--------+------+------+-----+------------------------+|ID|Binary|Host|Zone|Status|State|Updated|+--+-------------+--------+------+------+-----+------------------------+|1|nova-conductor|controller|internal|enabled|up|2020-10-14T03:15:07.000000||4|nova-scheduler|controller|internal|enabled|up|2020-10-14T03:15:08.000000||6|nova-pute|pute1|nova|enabled|up|2020-10-14T03:15:04.000000|再执行以下命令查看计算节点显示计算节点pute1地虚拟机管理器类型为QEMU。[root@controlleropenstackhypervisorlist+----+---------------------+-----------------+-----------+-------+|ID|HypervisorHostname|Hypervisor|HostIP|State|+----+---------------------+-----------------+-----------+-------+|1|pute1|QEMU|1|up|A.7安装与部署Neutron这里部署地是自服务网络ꢀNeutron地地代理选择是OVSOpenvSwitch)代理ꢀ由OVS点与计算节点上部署所需地Neutron服务组件即可。这里控制节点兼作网络节点。控制节点与计算节点都要安装Neutron地OVS代理组件。A.7.1安装与配置网络服务之前ꢀ需要创建数据库ꢀ服务凭据与API端点。(1)创建Neutron数据库以root用户身份使用数据库访问客户端连接到数据库服务器。––附录A综合实训——手动安装ꢀ部署OpenStack云平台mysqlroot然后依次执行以下命令创建数据库并设置访问权限ꢀ完成之后退出数据库访问客户端。这里neutron账户地密码设为。MariaDB[(none)]>neutron;MariaDB[(none)]>GRANTALLPRIVILEGESONneutron.*'neutron'@'localhost'\IDENTIFIEDMariaDB[(none)]>GRANTALLPRIVILEGESONneutron.*'neutron'@'%'\IDENTIFIED(2)加载用户地环境脚本.admin-openrc(3)创建Neutron服务凭据依次执行以下命令创建neutron用户(密码设为)ꢀ将角色授予该用户ꢀ并创建Neutron地服务实体(名为neutronopenstackcreate--domaindefault--password-promptneutronopenstackroleservice--userneutronopenstackservicecreateneutron--description"OpenStackworking"work(4)创建Neutron服务地API端点openstackendpointcreate--regionRegionOneworkpublichttp://controller:9696openstackendpointcreate--regionRegionOneworkinternalhttp://controller:9696openstackendpointcreate--regionRegionOneworkhttp://controller:9696A.7.2自服务网络也可以支持将虚拟机实例连接到提供者网络。.安装网络组件#-yinstallopenstack-neutronopenstack-neutron-ml2openstack-neutron-openvswitchebtables其包括OVS代理。.安装CentOS7默认已安装ꢀ可检查OVS服务地状态。[root@controller~]#systemctlstatusopenvswitch●openvswitch.service-OpenvSwitchLoaded:loaded(/usr/lib/systemd/system/openvswitch.service;enabled;vendorpreset:disabled)Active:active(exited)since2020-10-2015:37:50CST;42sago……––OpenStack云计算实战.配置服务器组件编辑/etc/neutron/neutron.conf文件ꢀ完成下列设置。(1)在[database]节配置数据库访问。将该节其它connection选项注释掉或删除。[database]#...connection=mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron(2)在插件ꢀ路由服务与重叠地址。#...core_plugin=service_plugins=routerallow_overlapping_ips=(3)在RabbitMQ消息队列访问。#...transport_url=(4)在与[keystone_authtoken]节配置身份管理服务访问。将[keystone_authtoken]节地其它选项注释掉或直接删除。#...auth_strategy=keystone[keystone_authtoken]#..._authenticate_uri=http://controller:5000auth_url=http://controller:5000memcached_servers=auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=neutronpassword=(5与[nova]#...notify_nova_on_port_status_changes=truenotify_nova_on_port_data_changes=true––附录A综合实训——手动安装ꢀ部署OpenStack云平台[nova]#...auth_url=http://controller:5000auth_type=passwordproject_domain_name=defaultuser_domain_name=defaultregion_name=RegionOneproject_name=serviceusername=novapassword=(6)在[oslo_concurrency]节配置锁定路径。[oslo_concurrency]#...lock_path=/var/lib/neutron/tmp.配置2插件编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件ꢀ完成下列操作。(1)在节启用ꢀ与VXLAN网络。[ml2]#...type_drivers=flat,vlan,vxlan(2)在节启用VXLAN自服务网络。[ml2]#...tenant_work_types=vxlan(3)在节启用OpenvSwitch代理与population机制。[ml2]#...mechanism_drivers=openvswitch,l2population配置插件之后ꢀ删除type_drivers选项地值会导致数据库不一致。(4)在节启用端口安全扩展驱动。[ml2]#...extension_drivers=port_security(5)在[ml2_type_flat]节列出可以创建类型提供者网络地物理网络名称。[ml2_type_flat]#...flat_works=*这里地物理网络名称是网络地标记ꢀ在创建类型提供者网络时需要指定它。默认地ꢁꢁ值表示可以允许使用任意字符串地物理网络名称。如果使用空值则禁用––OpenStack云计算实战类型网络。(6)在[ml2_type_vxlan]节配置自服务网络地范围。[ml2_type_vxlan]#...vni_ranges=10:1000(7)在[securitygroup]节ꢀ启用ipset以提高安全组规则地效率。[securitygroup]#...enable_ipset=true.配置代理(1)创建OVS提供者网桥首先创建一个OVS一个端口。可以使用ovs-vsctladd-br与ovs-vsctladd-port命令来实现ꢀ但这种方式实现地配置在开机后会丢失OVS外部网桥命名为。将提供者网络地网卡ens37配置文件/etc/sysconfig/work-scripts/ifcfg-ens37地配置内容更改如下。NAME=ens37DEVICE=ens37TYPE=OVSPortDEVICETYPE=ovsOVS_BRIDGE=br-exONBOOT=yes再创建/etc/sysconfig/work-scripts/ifcfg-br-ex网卡配置文件用于OVS名称为NAME=br-exDEVICE=br-exDEVICETYPE=ovsTYPE=OVSBridgeBOOTPROTO=staticPREFIX=24ONBOOT=yes执行restartwork命令重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论