版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目7构建OpenStack云平台虚拟化网络《云网络技术项目教程》目录/Contents(1)(2)安装Openstack云平台构建OpenStack虚拟化网络项目描述为了整合KVM虚拟机的计算存储和网络资源,学习部署OpenStack云平台,实现虚拟机的快速构建和统一管理。学会在控制节点和计算节点上部署OpenStack云平台的组件服务,在控制节点上完成计算节点KVM虚拟机的创建和管理,构建常用的OpenStack虚拟化网络实现虚拟机的内外网互访。
图4-1
项目4任务思维导图OpenStack云平台OpenStack是一个开源的云计算平台,它提供了一套丰富的组件和工具,用于构建和管理私有云、公有云以及混合云环境。这些组件共同协作,提供了强大的计算、存储和网络功能,使用户能够轻松创建和管理虚拟机、存储资源和网络服务,以下是OpenStack平台中的一些核心组件。【知识目标】(1)掌握OpenStack云平台的作用。(2)掌握OpenStack各个组件的作用。(1)能够安装OpenStack基础环境。(2)能够安装OpenStack基础组件。(3)能够使用图形界面和命令行方式创建网络和虚拟机。【技能目标】安装OpenStack云平台(1)Keystone(身份认证服务)提供身份认证和授权功能,管理用户、角色和权限,确保安全访问和资源控制。(2)Glance(镜像服务)管理虚拟机镜像,包括镜像的上传、下载、共享等操作。(3)Placement(资源跟踪管理服务)跟踪和管理资源通常是通过"placement"服务实现的。这个服务提供了一组API和功能,允许用户,管理员和其他服务来跟踪和管理计算节点上的资源。(4)Nova(计算服务)负责虚拟机实例的管理和调度,包括实例的创建、启动、停止、迁移等操作。(5)Neutron(网络服务)提供网络资源的管理和配置,包括虚拟网络、子网、路由器等,使虚拟机能够进行网络通信。(6)Cinder(块存储服务)提供块级存储服务,允许用户创建和管理持久化的存储卷,并将其附加到虚拟机中使用。(7)Swift(对象存储服务)提供对象存储服务,用于存储和检索大规模非结构化数据,具有高可靠性和可扩展性。(8)Heat(编排服务)用于定义和自动化应用程序和云资源的部署,实现基础设施即代码(InfrastructureasCode)的理念。(9)Horizon(图形界面服务)Horizon是OpenStack提供的基于Web的用户界面,用于管理和监控OpenStack云平台的各种资源和服务。作为OpenStack的官方仪表板,Horizon提供了一个直观易用的图形化界面,使用户能够通过浏览器来管理资源,而无需深入了解底层的命令行工具或API。除了这些核心组件之外,OpenStack还有其他一些附加组件和工具,如Horizon(Web控制台)、Ceilometer(计量服务)、Zun(容器管理服务)等,可以根据需求进行选择和部署。OpenStack云平台和KVM虚拟机的关系
OpenStack云平台和KVM虚拟机之间存在密切的关系,可以简单地理解为OpenStack云平台是用于管理和部署KVM虚拟机的工具和平台。KVM是一种基于Linux内核的虚拟化技术,它允许在一台物理主机上同时运行多个虚拟机,每个虚拟机都可以运行独立的操作系统。OpenStack作为一个开源的云计算平台,提供了一整套的组件和工具,用于构建、管理和部署云计算环境。在OpenStack中,可以利用Nova组件来管理和调度KVM虚拟机实例,Neutron组件来管理虚拟机的网络配置,Cinder组件来管理虚拟机的块存储等。因此,OpenStack通过这些组件提供了对KVM虚拟机的全面管理能力,使得用户可以通过OpenStack来创建、启动、停止、删除虚拟机,并对其进行网络配置、存储管理等操作。必备知识1.网络虚拟化网络虚拟化是一种将物理网络资源划分为多个虚拟网络的技术。它允许多个虚拟网络在同一物理网络上并行运行,每个虚拟网络都具有自己独立的网络拓扑、策略和服务,实现以下功能。安装基础环境1.配置服务器网络环境首先使用CentOS8.ova模板机创建两台名称为controller、compute的服务器,在controller和compute上增加一块网卡。两台服务器的网卡及IP地址配置如表7-1所示。表7-1
网卡地址及所属网络服务器名称网卡名称连接到网络网络模式IP地址网关controllerens160VMnet8NAT0ens192lan1区段自定义网络0
ens256VMnet1仅主机不配置IP地址
computeens160VMnet8NAT0ens192lan1区段自定义网络0
ens256VMnet1仅主机不配置IP地址其中controller、compute服务器上的ens160网卡作为各个服务器上组件通信网卡,由于在安装过程中,需要用到网上的源,所以需要配置成NAT模式。两台服务器上的ens192网卡用于跑虚拟机之间的流量和访问控制节点网络服务的流量,两台服务器上ens256网卡作为虚拟机连接到外部网络的网卡。配置完成后,查看controller服务器的网卡和IP地址配置,如图7-2所示。安装基础环境图7-2
任务7-1controller服务器网卡配置查看compute服务器的网卡和IP地址配置,如图7-3所示。
图7-3
任务7-1compute服务器网卡配置安装基础环境基础配置(1)系统初始化配置①修改主机名修改第一台服务器的名称为controller,第二台服务器的名称为compute,如下所示。[root@localhost~]#hostnamectlset-hostnamecontroller[root@localhost~]#hostnamectlset-hostnamecompute修改完成后,使用“ctrl+D”快捷键注销后再次登录,发现名称已经修改成功了。②配置主机名称解析在两台服务器的/etc/hosts文件中加入以下配置,实现主机名和IP地址的映射。0controller0compute③关闭防火墙和Selinux防火墙和Selinux会影响到OpenStack的部署,所以在两台服务器上关闭,关闭防火墙命令如下。[root@controller~]#systemctlstopfirewalld&&systemctldisablefirewalld[root@compute~]#systemctlstopfirewalld&&systemctldisablefirewalld在/etc/selinux/config配置文件中,将SELINUX=enforcing修改为SELINUX=disabled,实现Selinux的永久关闭,同时在两台服务器上作如下配置。[root@controller~]#setenforce0[root@compute~]#setenforce0以上命令的作用是临时关闭Selinux,因为修改配置文件后没有重启,配置没有生效。所以需要临时关闭。基础配置(2)配置免密码登录由于在controller服务器上部署组件时,需要登录本机和compute服务器,为避免每次输入密码,需要配置免密码登录。首先在controller上生成公钥和私钥,命令如下。[root@controller~]#ssh-keygen在出现提示时,直接输入回车即可生成公钥和私钥,然后将公钥拷贝给controller服务器和compute服务器。如下所示。[root@controller~]#ssh-copy-idcontroller[root@controller~]#ssh-copy-idcompute在出现Areyousureyouwanttocontinueconnecting(yes/no/[fingerprint])?提示时,输入YES,然后输入controller或者compute的密码,这里设置的是1,即可实现将公钥拷贝到本机和compute服务器上,实现免密码登录基础配置(3)配置时间同步配置时间同步时,将controller节点作为服务器,compute时间同步到controller上。①配置controller为时间同步服务器首先在controller服务器上,打开/etc/chrony.conf文件,修改以下3处内容。一是注销掉默认的时间同步服务器,如下所示。#pool2.iburst二是设置哪些客户端可以同步到本机时间,如下所示。allow/24三是取消以下配置的注释。localstratum10修改完成后,重启chronyd服务,如下所示。[root@controller~]#systemctlrestartchronyd基础配置基础配置②compute同步时间到controller在compute节点上,打开/etc/chrony.conf文件。修改第3行内容为poolcontrolleriburst,指明本机的时间同步服务器为controller,修改完成后,重启chronyd服务,如下所示。[root@compute~]#systemctlrestartchronyd③查看时间同步效果在compute节点上,查看时间同步服务器,命令如下。[root@compute~]#chronycsources在controller和compute上使用date命令查看时间是否一致,如果一致,表示配置成功。(1)配置华为CentOS8网络yum源在两台服务器上,下载华为的CentOS8网络yum源,命令如下。[root@controller~]#curl-o/etc/yum.repos.d/CentOS-Base.repo/repository/conf/CentOS-8-anon.repo[root@compute~]#curl-o/etc/yum.repos.d/CentOS-Base.repo/repository/conf/CentOS-8-anon.repo配置网络Yum源配置网络Yum源(2)配置OpenStack安装源①安装openstack源使用yumsearchopenstack可以查看提供的OpenStack版本,如图7-4所示。
图7-4任务7-1Yum源提供的OpenStack版本本次采用较新的centos-release-openstack-ussuri.noarch版本,在两台服务器上,下载安装源,命令如下。[root@controller~]#yuminstallcentos-release-openstack-ussuri-y[root@compute~]#yuminstallcentos-release-openstack-ussuri-y②修改源由于CentOS8的源官方不在维护,所以下载完成后,在两台服务器上,使用以下命令修改源的内容为vault源。[root@controller~]#sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*[root@controller~]#sed-i's|#baseurl=|baseurl=|g'/etc/yum.repos.d/CentOS-*[root@compute~]#sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*[root@compute~]#sed-i's|#baseurl=|baseurl=|g'/etc/yum.repos.d/CentOS-*配置网络Yum源③更新软件包在两台设备上更新软件包,重新启动,命令如下。[root@controller~]#yumupgrade-y[root@controller~]#reboot[root@compute~]#yumupgrade-y[root@compute~]#reboot(3)安装OpenStack客户端和安全策略首先安装OpenStack客户端工具,如下所示。[root@controller~]#yuminstallpython3-openstackclient-y[root@compute~]#yuminstallpython3-openstackclient-y然后安装OpenStack安全策略,所下所示。[root@controller~]#yuminstallopenstack-selinux-y[root@compute~]#yuminstallopenstack-selinux-y配置网络Yum源(1)安装数据库OpenStack的多个组件需要在数据库上建立库和表,所以在控制节点安装Mariadb数据库以及python程序连接数据库的驱动,命令如下。[root@controller~]#yuminstallmariadbmariadb-serverpython2-PyMySQL-y安装完成后,启动数据库并设置成开机自启,命令如下。[root@controller~]#systemctlstartmariadb&&systemctlenablemariadb安装配置Mariadb数据库(2)加固数据库安全启动完成后,设置数据库的安全加固,将登录数据库的root用户密码设置为1,命令如下。[root@controller~]#mysql_secure_installation执行命令后,按照以下内容提示进行设置,重点是设置root用户登录密码、不禁止root用户远程登陆、重新刷新权限。安装配置Mariadb数据库(3)修改配置文件在/etc/f.d目录下,为OpenStack建立数据库的配置文件f,在文件中输入如下内容。[mysqld]bind-address=controller#设定绑定地址为controllerdefault-storage-engine=innodb#设置默认的存储引擎innodb_file_per_table=on#使用单独的表空间max_connections=4096#设置最大连接数collation-server=utf8_general_ci#设置字符集的排序规则character-set-server=utf8#设置默认的字符集配置完成后,重新启动数据库,如下所示。[root@controller~]#systemctlrestartmariadb安装配置Mariadb数据库安装配置消息队列rabbitmq(1)安装rabbitmq-serverOpenStack组件需要借助通过消息队列传输数据,所以在controller节点安装rabbitmq消息队列服务,命令如下。[root@controller~]#yuminstallrabbitmq-server-y安装完成后,启动消息队列并设置开机自启,如下所示。[root@controller~]#systemctlstartrabbitmq-server&&systemctlenablerabbitmq-server(2)设置登录用户设置登录消息队列的用户名为openstack,密码为1,命令如下。[root@controller~]#rabbitmqctladd_useropenstack1设置openstack用户配置、读写消息队列的权限,命令如下。[root@controller~]#rabbitmqctlset_permissionsopenstack".*"".*"".*"安装配置消息队列rabbitmq(3)查看用户和权限查看用户的命令如下。[root@controller~]#rabbitmqctllist_users查看用户的权限,命令如下。[root@controller~]#rabbitmqctllist_permissions(1)安装Memcachedopenstack中的Keystone用于用户和程序的登录,登录后需要缓存token令牌,所以在控制节点安装Memcached,用于缓存token服务,命令如下。[root@controller~]#yuminstallmemcachedpython3-memcached-y(2)配置Memcached打开/etc/sysconfig/memcached配置文件,修改最后一行设置监听的端口,内容如下所示。OPTIONS="-l,::1,controller"修改完成后,启动memcached服务并设置开机自启动,命令如下。[root@controller~]#systemctlstartmemcached&&systemctlenablememcached安装配置Memcached(1)安装Memcachedopenstack中的Keystone用于用户和程序的登录,登录后需要缓存token令牌,所以在控制节点安装Memcached,用于缓存token服务,命令如下。[root@controller~]#yuminstallmemcachedpython3-memcached-y(2)配置Memcached打开/etc/sysconfig/memcached配置文件,修改最后一行设置监听的端口,内容如下所示。OPTIONS="-l,::1,controller"修改完成后,启动memcached服务并设置开机自启动,命令如下。[root@controller~]#systemctlstartmemcached&&systemctlenablememcached
安装配置Memcached1.安装配置Keystone认证服务(controller节点)
Keystone认证服务是Openstack的核心组件,用于用户和其它组件的认证和授权,需要首先安装该服务。(1)创建Keystone服务的数据库并授权Keystone服务需要数据库的支持,所以首先在Mariadb中创建Keystone服务的数据库并授权用户使用该数据库。①创建数据库Keystone首先登录到Mariadb数据管理系统,命令如下。[root@controller~]#mysql-uroot-p1创建数据库,名称为Keystone,如下所示。MariaDB[(none)]>createdatabaseKeystone;部署Openstack组件服务②授权本地和远程访问创建Keystone用户,密码为1,授权Keystone数据库所有表的所有权限给Keystone用户,当Keystone用户在本机登录或者远程登陆时,命令如下。MariaDB[(none)]>grantallprivilegesonKeystone.*to'Keystone'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonKeystone.*to'Keystone'@'%'identifiedby'1';完成后,退出Mariadb数据库管理系统。部署Openstack组件服务(2)安装组件同步数据库①安装Keystone服务首先安装Keystone服务的相关组件,命令如下。[root@controller~]#yuminstallopenstack-Keystonehttpdpython3-mod_wsgi-y其中openstack-Keystone是Keystone服务组件,由于Keystone与其它组件通信需要http协议,所以需要安装httpdpython3-mod_wsgi两个服务。②配置Keystone服务打开Keystone服务的配置文件/etc/Keystone/Keystone.conf,在[database]下加入如下配置。connection=mysql+pymysql://Keystone:1@controller/Keystone目的是配置Keystone组件连接数据库时的用户和密码以及访问的数据库地址。在[token]下加入如下配置。provider=fernet作用是指定密钥管理器使用Fernet对称加密算法部署Openstack组件服务③同步Keystone数据库[root@controller~]#su-s/bin/sh-c"Keystone-managedb_sync"Keystone该命令使用
-s选项指定要使用的shell,-c选项指定要执行的命令,并使用su命令切换到Keystone用户。而Keystone-managedb_sync命令则用于同步Keystone的数据库结构,确保数据库中包含必要的表和列,以及其他必要的配置信息。④生成
Fernet密钥Fernet密钥是用于加密和解密令牌等敏感信息,生成秘钥文件并设置所属的用户和组的命令如下所示。[root@controller~]#Keystone-managefernet_setup--Keystone-userKeystone--Keystone-groupKeystone完成后,可以查看/etc/Keystone目录下创建了fernet-keys文件。⑤生成管理员凭据管理员登录同样需要身份验证和授权,所以需要生成管理凭据,命令如下。[root@controller~]#Keystone-managecredential_setup--Keystone-userKeystone--Keystone-groupKeystone完成后,可以查看/etc/Keystone目录下生成了credential-keys目录。部署Openstack组件服务⑥Keystone服务初始化初始化Keystone服务,命令如下。[root@controller~]#Keystone-managebootstrap--bootstrap-password1--bootstrap-admin-urlhttp://controller:5000/v3/--bootstrap-internal-urlhttp://controller:5000/v3/--bootstrap-public-urlhttp://controller:5000/v3/--bootstrap-region-idRegionOne各个选项的含义如下。--bootstrap-password1:指定初始化管理员用户的密码为"1"。--bootstrap-admin-urlhttp://controller:5000/v3/:指定管理员URL地址。--bootstrap-internal-urlhttp://controller:5000/v3/:指定内部URL地址。--bootstrap-public-urlhttp://controller:5000/v3/:指定公共URL地址。--bootstrap-region-idRegionOne:指定初始区域ID为"RegionOne"。部署Openstack组件服务⑧设置管理员客户端环境变量管理员使用命令行方式登录时,需要为管理员设置客户端的环境变量,在/root目录下创建文件admin-openrc.sh,输入以下内容。exportOS_USERNAME=adminexportOS_PASSWORD=1exportOS_PROJECT_NAME=adminexportOS_USER_DOMAIN_NAME=DefaultexportOS_PROJECT_DOMAIN_NAME=DefaultexportOS_AUTH_URL=http://controller:5000/v3exportOS_IDENTITY_API_VERSION=3部署Openstack组件服务各个选项的含义如下。OS_USERNAME=admin:设置管理员用户名为"admin"。OS_PASSWORD=1:设置管理员用户的密码为"1"。OS_PROJECT_NAME=admin:设置项目名称为"admin"。OS_USER_DOMAIN_NAME=Default:设置用户域名为"Default"。OS_PROJECT_DOMAIN_NAME=Default:设置项目域名为"Default"。OS_AUTH_URL=http://controller:5000/v3:设置认证URL地址为"http://controller:5000/v3"。OS_IDENTITY_API_VERSION=3:设置身份API版本为3。部署Openstack组件服务⑨验证Keystone服务首先加载admin-openrc.sh,命令如下。[root@controller~]#sourceadmin-openrc.sh然后获取一个token令牌,命令如下。[root@controller~]#openstacktokenissue执行后,可以获取到一个token的令牌,如图7-5所示。
图7-5任务7-1成功获取token令牌从图中可以发现,token令牌设置了过期时间。部署Openstack组件服务安装配置Glance镜像服务(1)创建glance镜像服务的数据库并授权glance镜像服务需要数据库的支持,所以首先在Mariadb中创建Keystone服务的数据库并授权用户使用该数据库。①创建数据库glance首先登录到Mariadb数据管理系统,命令如下。[root@controller~]#mysql-uroot-p1创建数据库,名称为Keystone,如下所示。MariaDB[(none)]>createdatabaseglance;②授glance用户,密码为1,当glance用户在本机登录或者远程登陆时,授权glance数据库所有表的所有权限给glance用户,命令如下。MariaDB[(none)]>grantallprivilegesonglance.*to'glance'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonglance.*to'glance'@'%'identifiedby'1';完成后,退出Mariadb数据库管理系统。安装配置Glance镜像服务(2)在Keystone上为glance服务创建用户glance服务需要与其他服务进行交换,这样就需要Keystone认证服务的授权,所以需要在Keystone上为glance服务设置用户。①创建service工程在default域中创建一个service工程,命令如下。[root@controller~]#openstackprojectcreate--domaindefaultservice②创建glance用户在default域中创建用户glance,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptglance输入glance用户的密码为1。③设置glance用户为service工程的管理员将glance用户设置为service工程的管理员,命令如下。[root@controller~]#openstackroleadd--projectservice--userglanceadmin安装配置Glance镜像服务(3)在Keystone上创建image镜像服务,设置服务端点①创建image类型服务当用户和其他服务访问glance服务时,需要到Keystone上去查找,这就需要glance镜像服务注册到Keystone服务,方法是在Keystone上创建类型为image的服务,然后设置提供服务的URL地址,首先创建image类型服务,名称为glance,命令如下。[root@controller~]#openstackservicecreate--nameglance--description"OpenStackImage"image②设置服务的访问地址然后设置image类型服务的URL服务地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOneimagepublichttp://controller:9292[root@controller~]#openstackendpointcreate--regionRegionOneimageinternalhttp://controller:9292[root@controller~]#openstackendpointcreate--regionRegionOneimageadminhttp://controller:9292以上三条命令分别为public公共用户、internal内部用户、admin管理员设置了glance服务的访问地址。安装配置Glance镜像服务③查看访问地址(服务端点)查看OpenStack中各项服务的访问地址命令如下。[root@controller~]#openstackendpointlist结果如图7-6所示。图7-6任务7-1查看OpenStack各项服务的访问地址安装配置Glance镜像服务(4)安装配置glance服务①安装glance服务配置好数据库和OpenStack认证用户以及服务地址后,需要安装glance服务组件,命令如下。[root@controller~]#yuminstallopenstack-glance-y②配置glance服务安装完成后,修改glance服务的配置文件/etc/glance/glance-api.conf,方法是首先将glance-api文件备份,然后打开glance-api.conf文件,删除所有内容后,将以下内容添加到文件中。安装配置Glance镜像服务[database]connection=mysql+pymysql://glance:1@controller/glance[Keystone_authtoken]www_authenticate_uri=<http://controller:5000>auth_url=http://controller:5000memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=glancepassword=1[paste_deploy]flavor=Keystone[glance_store]stores=file,httpdefault_store=filefilesystem_store_datadir=/var/lib/glance/images/其中[database]是连接数据库的配置,[Keystone_authtoken]是glance服务在Keystone服务上进行认证的配置,[glance_store]是glance管理的镜像存储信息配置。安装配置Glance镜像服务③同步数据库并启动服务修改配置文件后,同步数据库,启动服务并设置为开机自启动,命令如下。[root@controller~]#su-s/bin/sh-c"glance-managedb_sync"glance[root@controller~]#systemctlstartopenstack-glance-api&&systemctlenableopenstack-glance-api启动完成后,查看镜像列表,如下所示。[root@controller~]#openstackimagelist由于还没有上传镜像,所有返回的镜像列表为空,这里只是为了测试glance镜像安装是否成功,后续在创建虚拟机时,再上传镜像。安装配置Glance镜像服务安装配置placement资源管理服务placement用来跟踪和管理计算节点上的资源,安装方法与glance镜像服务类似,所有也是在数据库管理系统上创建数据库和授权。(1)创建placement数据库并授权首先在Mariadb中创建placement服务的数据库并授权用户使用该数据库。①创建数据库placement首先登录到Mariadb数据管理系统,命令如下。[root@controller~]#mysql-uroot-p1创建数据库,名称为Keystone,如下所示。MariaDB[(none)]>createdatabaseplacement;②授权本地和远程访问创建placement用户,密码为1,当placement用户在本机登录或者远程登陆时,授权placement数据库所有表的所有权限给placement用户,命令如下。MariaDB[(none)]>grantallprivilegesonplacement.*to'placement'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonplacement.*to'placement'@'%'identifiedby'1';完成后,退出Mariadb数据库管理系统。安装配置placement资源管理服务(2)在Keystone上为placement服务创建用户placement服务需要与其他服务进行交换,这样就需要Keystone认证服务的授权,所以需要在Keystone上为placement服务设置用户。①创建placement用户在default域中创建用户placement,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptplacement输入placement用户的密码为1。②设置placement用户为service工程的管理员将placement用户设置为service工程的管理员,命令如下。[root@controller~]#openstackroleadd--projectservice--userplacementadmin(3)在Keystone上创建placement资源管理服务,设置服务端点placement服务同样需要在Keystone上注册服务,设置服务访问地址,注册服务配置如下。[root@controller~]#openstackservicecreate--nameplacement--description"PlacementAPI"placement设置公共用户、内部用户和管理员的服务访问地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOneplacementpublichttp://controller:8778[root@controller~]#openstackendpointcreate--regionRegionOneplacementinternalhttp://controller:8778[root@controller~]#openstackendpointcreate--regionRegionOneplacementadminhttp://controller:8778安装配置placement资源管理服务安装配置placement资源管理服务①安装placement服务配置好数据库和OpenStack认证用户以及服务地址后,需要安装placement服务组件,命令如下。[root@controller~]#yuminstallopenstack-placement-y②配置placement服务安装完成后,修改placement服务的配置文件/etc/placement/placement.conf,方法是首先将placement.conf文件备份,然后打开placement.conf文件,删除所有内容后,将以下内容添加到文件中。[placement_database]connection=mysql+pymysql://placement:1@controller/placement[api]auth_strategy=Keystone[Keystone_authtoken]auth_url=http://controller:5000/v3memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=placementpassword=1安装配置placement资源管理服务③修改00-placement-api.conf配置打开/etc/httpd/conf.d/00-placement-api.conf,将以下内容加入到底11行之后,设置目录的访问权限。<Directory/usr/bin><IfVersion>=2.4>Requireallgranted</IfVersion><IfVersion<2.4>Orderallow,denyAllowfromall</IfVersion></Directory>配置完成后,重新启动httpd服务,如下所示。[root@controller~]#systemctlrestarthtt安装配置placement资源管理服务④同步数据库验证安装首先同步placement数据库,命令如下。[root@controller~]#su-s/bin/sh-c"placement-managedbsync"placement然后验证placement安装效果,命令如下。[root@controller~]#placement-statusupgradecheck返回结果结果如图7-7所示。图7-7任务7-1验证placement组件安装配置placement资源管理服务安装配置Nova计算服务Nova服务负责虚拟机实例的管理和调度,包括实例的创建、启动、停止、迁移等操作,是OpenStack的核心服务,需要在控制节点和计算节点同时安装,首先在控制节点安装Nova服务。(1)创建nova_api、nova、nova_cell0数据库并授权Nova服务相对复杂,需要在Mariadb中创建nova_api、nova、nova_cell0等3个数据库并授权Nova用户使用该数据库。①创建数据库首先登录到Mariadb数据管理系统,命令如下。[root@controller~]#mysql-uroot-p1创建数据库,名称为nova_api、nova、nova_cell0,如下所示。MariaDB[(none)]>createdatabasenova_api;MariaDB[(none)]>createdatabasenova;MariaDB[(none)]>createdatabasenova_cell0;②授权本地和远程访问创建nova用户,密码为1,当nova用户在本机登录或者远程登陆时,授权nova_api、nova、nova_cell0数据库所有表的所有权限给nova用户。命令如下。MariaDB[(none)]>grantallprivilegesonnova_api.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_api.*to'nova'@'%'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova.*to'nova'@'%'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_cell0.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_cell0.*to'nova'@'%'identifiedby'1';完成后,退出Mariadb数据库管理系统。安装配置Nova计算服务(2)在Keystone上为Nova服务创建用户Nova服务需要与其他服务进行交换,这样就需要Keystone认证服务的授权,所以需要在Keystone上为Nova服务设置用户。①创建Nova用户在default域中创建用户nova,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptnova输入Nova用户的密码为1。②设置Nova用户为service工程的管理员将Nova用户设置为service工程的管理员,命令如下。[root@controller~]#openstackroleadd--projectservice--usernovaadmin安装配置Nova计算服务(3)在Keystone上创建Nova资源管理服务,设置服务端点Nova服务同样需要在Keystone上注册服务,设置服务访问地址,注册服务配置如下。[root@controller~]#openstackservicecreate--namenova--description"OpenStackCompute"compute设置公共用户、内部用户和管理员的服务访问地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOnecomputepublichttp://controller:8774/v2.1[root@controller~]#openstackendpointcreate--regionRegionOnecomputeinternalhttp://controller:8774/v2.1[root@controller~]#openstackendpointcreate--regionRegionOnecomputeadminhttp://controller:8774/v2.1安装配置Nova计算服务(4)安装配置Nova服务①安装Nova服务nova服务有4个,openstack-nova-api提供对外访问服务,openstack-nova-conductor提供与数据库的交互服务,openstack-nova-novncproxy提供控制台登录服务,openstack-nova-scheduler提供虚拟机调度服务,安装如下。[root@controller~]#yuminstallopenstack-nova-apiopenstack-nova-conductoropenstack-nova-novncproxyopenstack-nova-scheduler-y②配置Nova服务安装完成后,修改Nova服务的配置文件/etc/nova/nova.conf,方法是首先将nova.conf文件备份,然后打开nova.conf文件,删除所有内容后,将以下内容添加到文件中。安装配置Nova计算服务③同步数据库需要同步nova_api数据库、nova数据库、同时创建cell0和cell1,用于管理和分配计算资源。[root@controller~]#su-s/bin/sh-c"nova-manageapi_dbsync"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2map_cell0"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2create_cell--name=cell1--verbose"nova[root@controller~]#su-s/bin/sh-c"nova-managedbsync"nova创建cell0和cell1后,使用以下命令可以列出建立的cell。[root@controller~]#su-s/bin/sh-c"nova-managecell_v2list_cells"nova安装配置Nova计算服务④启动服务启动Nova的4个服务并设置开机自启动,命令如下。[root@controller~]#systemctlstartopenstack-nova-api.serviceopenstack-nova-scheduler.serviceopenstack-nova-conductor.serviceopenstack-nova-novncproxy.service[root@controller~]#systemctlenableopenstack-nova-api.serviceopenstack-nova-scheduler.serviceopenstack-nova-conductor.serviceopenstack-nova-novncproxy.service安装配置Nova计算服务Nova-compute服务负责在计算节点上创建虚拟机,安装过程如下。(1)安装nova-compute服务安装nova-compute的命令如下所示。[root@compute~]#yuminstallopenstack-nova-compute-y(2)配置nova-compute服务打开/etc/nova/nova.conf文件,清空内容,在文件中输入内容如下。安装配置Nova计算服务[DEFAULT]enabled_apis=osapi_compute,metadatatransport_url=rabbit://openstack:1@controller:5672/my_ip=0use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver[api]auth_strategy=keystone[keystone_authtoken]www_authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=1[vnc]enabled=trueserver_listen=server_proxyclient_address=$my_ipnovncproxy_base_url=0:6080/vnc_auto.html[glance]api_servers=http://controller:9292[oslo_concurrency]lock_path=/var/lib/nova/tmp[placement]region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=1安装配置Nova计算服务(3)启动服务在计算节点,需要启动libvirtd和openstack-nova-compute服务,如下所示。[root@compute~]#systemctlstartlibvirtd&&systemctlenablelibvirtd[root@compute~]#systemctlstartopenstack-nova-compute&&systemctlenableopenstack-nova-compute(4)修改控制(controller)节点Nova配置①发现计算节点并将其注册到Novacell中Novacell用于管理和分配计算资源,在控制节点上首先要发现计算节点,命令如下。[root@controller~]#su-s/bin/sh-c"nova-managecell_v2discover_hosts--verbose"nova然后在/etc/nova/nova.conf中加入如下内容,设置自动发现计算节点的间隔为300秒。[scheduler]discover_hosts_in_cells_interval=300修改后,重启openstack-nova-api服务,如下所示。[root@controller~]#systemctlrestartopenstack-nova-api安装配置Nova计算服务②验证Nova配置在控制节点上,查看Nova的各项服务,命令如下。[root@controller~]#openstackcomputeservicelist结果如图7-8所示。
图7-8任务7-1验证Nova服务组件查看到运行在controller节点的2项服务和运行在compute节点的1项服务并且都是up状态时,表明Nova组件安装成功。安装配置Nova计算服务安装配置Neutron网络服务Neutron是Openstack的必备核心服务,提供网络资源的管理和配置,包括虚拟网络、子网、路由器等,使虚拟机能够进行网络通信,需要在控制节点和计算节点都安装。(1)创建Neutron数据库并授权首先在Mariadb中创建Neutron服务的数据库并授权用户使用该数据库。①创建数据库placement首先登录到Mariadb数据管理系统,命令如下。[root@controller~]#mysql-uroot-p1创建数据库,名称为Keystone,如下所示。MariaDB[(none)]>createdatabaseneutron;②授权本地和远程访问创建neutron用户,密码为1,当placement用户在本机登录或者远程登陆时,授权neutron数据库所有表的所有权限给neutron用户,命令如下。MariaDB[(none)]>grantallprivilegesonneutron.*to'neutron'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonneutron.*to'neutron'@'%'identifiedby'1';完成后,退出Mariadb数据库管理系统。(2)在Keystone上为neutron服务创建用户Neutron服务需要与其他服务进行交换,这样就需要Keystone认证服务的授权,所以需要在Keystone上为Neutron服务设置用户。①创建placement用户在default域中创建用户neutron,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptneutron输入neutron用户的密码为1。②设置neutron用户为service工程的管理员将neutron用户设置为service工程的管理员,命令如下。[root@controller~]#openstackroleadd--projectservice--userneutronadmin安装配置Neutron网络服务(3)在Keystone上创建neutron资源管理服务,设置服务端点neutron服务同样需要在Keystone上注册服务,设置服务访问地址,注册服务配置如下。[root@controller~]#openstackservicecreate--nameneutron--description"OpenStackNetworking"network设置公共用户、内部用户和管理员的服务访问地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOnenetworkpublichttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkinternalhttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkadminhttp://controller:9696安装配置Neutron网络服务(4)安装Neutron服务配置好数据库和OpenStack认证用户以及服务地址后,需要安装Neutron服务的组件,命令如下。[root@controller~]#yuminstallopenstack-neutronopenstack-neutron-ml2openstack-neutron-linuxbridgeebtables-y(5)配置Neutron服务①修改主配置文件打开/etc/neutron/neutron.conf文件,清空所有内容,添加以下配置。[database]connection=mysql+pymysql://neutron:1@controller/neutron[DEFAULT]core_plugin=ml2service_plugins=routerallow_overlapping_ips=truetransport_url=rabbit://openstack:1@controllerauth_strategy=keystonenotify_nova_on_port_status_changes=truenotify_nova_on_port_data_changes=true安装配置Neutron网络服务[keystone_authtoken]
_authenticate_uri=http://controller:5000auth_url=http://controller:5000memcached_servers=controller:11211auth_type=passwordproject_domain_name=defaultuser_domain_name=defaultproject_name=serviceusername=neutronpassword=1[nova]auth_url=http://controller:5000auth_type=passwordproject_domain_name=defaultuser_domain_name=defaultregion_name=RegionOneproject_name=serviceusername=novapassword=1[oslo_concurrency]lock_path=/var/lib/neutron/tmp安装配置Neutron网络服务②配置ml2_conf.iniml2_conf.ini是OpenStackNeutron中ML2插件的配置文件,用于配置ML2插件的各种选项和参数,首先打开/etc/neutron/plugins/ml2/ml2_conf.ini,清空内容,添加以下配置。[ml2]type_drivers=flat,vlan,vxlantenant_network_types=vxlanmechanism_drivers=linuxbridge,l2populationextension_drivers=port_security[ml2_type_flat]flat_networks=provider[ml2_type_vlan]network_vlan_ranges=vlan:10:2000[ml2_type_vxlan]vni_ranges=1:1000[securitygroup]enable_ipset=true安装配置Neutron网络服务③配置/etc/neutron/plugins/ml2/linuxbridge_agent.inilinuxbridge_agent.ini是OpenStackNeutron中Linuxbridge网络代理的配置文件,用于在、实现虚拟网络的二层交换和连接,首先打开/etc/neutron/plugins/ml2/linuxbridge_agent.ini,清空内容,添加以下配置。[linux_bridge]physical_interface_mappings=provider:ens256,vlan:ens192[vxlan]enable_vxlan=truelocal_ip=0l2_population=true[securitygroup]enable_security_group=truefirewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver安装配置Neutron网络服务④安装启动必要组件(控制节点和计算节点)首先安装桥工具,如下所示。[root@controller~]#yuminstallbridge-utils-y加载br_netfilter模块,支持桥接设备过滤,如下所示。[root@controller~]#modprobebr_netfilter设置系统启动时自动加载,如下所示。[root@controller~]#echobr_netfilter>/etc/modules-load.d/br_netfilter.conf注意以上环境在计算节点也要安装。安装配置Neutron网络服务⑤修改l3_agent.iniL3代理是Neutron网络服务的一个组件,用于提供路由功能和跨子网的网络连接,首先打开/etc/neutron/l3_agent.ini,在[default]下输入以下内容,指明二层工具是linuxbridge。[DEFAULT]interface_driver=linuxbridge⑥修改dhcp_agent.inidhcp_agent.ini是OpenStackNeutron中DHCP代理的配置文件,首先打开/etc/neutron/dhcp_agent.ini文件,在[default]下输入以下内容。[DEFAULT]interface_driver=linuxbridgedhcp_driver=neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata=true安装配置Neutron网络服务⑦修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年网络安全法律法规与政策理解专项训练试卷
- 2026年陕西省人教版四年级语文上册第6单元同步练习题
- 2025-2026学年古诗主题分类说课稿
- 2025-2026学年中地理说课稿评价
- 退役军人服务中心招聘笔试专项训练题库及答案
- 2025-2026学年厨艺坊说课稿
- 2025-2026学年儿童街舞课程说课稿
- 2026下半年下半年初中道法教资面试法律重难点题库
- 2026下半年下半年小学体育教资面试规则题及答案
- 2025-2026学年大班美术说课稿下雨了
- 2026年秋北师大版新教材四年级上册数学(全册)知识点清单梳理
- 2026八年级劳动国家质量监测考试卷含答案
- 2024版压力容器设计审核题库(综合题)
- 手术室护理人文关怀与沟通技巧
- (2026年)皮内注射技术课件
- 2025版《广东省护理病历书写管理规范(试行)》
- 福建金投集团招聘笔试题目
- 企业新春员工福利礼品选购指南【课件文档】
- 机泵基础知识培训
- 6S启动大会课件
- ISO14644-5-2025洁净室及相关受控环境-第5部分运行中文版
评论
0/150
提交评论