




已阅读5页,还剩119页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenStack Mitaka 手动部署手册概况TheOpenStackproject is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project.OpenStack通过各种补充服务提供基础设施即服务Infrastructure-as-a-Service (IaaS)的解决方案。每个服务都提供便于集成的应用程序接口 :term:Application Programming Interface (API)。本指南涵盖了如何安装功能示例架构逐步部署下面主要的OpenStack服务,特别适合于对Linux经验丰富的OpenStack新用户:OpenStack services服务项目名称描述DashboardHorizon提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。ComputeNova在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。NetworkingNeutron确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。存储Object StorageSwift通过一个RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。Block StorageCinder为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。共享服务Identity serviceKeystone为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。Image serviceGlance服务存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。Telemetry服务请参见Ceilometer服务为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。高层次服务Orchestration服务请参见Heat服务Orchestration服务支持多样化的综合的云应用,通过调用OpenStack-native REST API和CloudFormation-compatible Query API,支持:term:HOT 格式模板或者AWS CloudFormation格式模板在你对基础安装,配置,操作和故障诊断熟悉之后,你应该考虑按照以下步骤使用生产架构来进行部署 确定并补充必要的核心和可选服务,以满足性能和冗余要求。 使用诸如防火墙,加密和服务策略的方式来加强安全。 使用自动化部署工具,例如Ansible, Chef, Puppet, or Salt来自动化部署,管理生产环境示例的架构这个示例架构需要至少2个(主机)节点来启动基础服务:term:virtual machine 或者实例。像块存储服务,对象存储服务这一类服务还需要额外的节点这个示例架构不同于下面这样的最小生产结构 网络代理驻留在控制节点上而不是在一个或者多个专用的网络节点上。 私有网络的覆盖流量通过管理网络而不是专用网络硬件需求控制器控制节点上运行身份认证服务,镜像服务,计算服务的管理部分,网络服务的管理部分,多种网络代理以及仪表板。也需要包含一些支持服务,例如:SQL数据库,消息队列, andNTP。可选的,可以在计算节点上运行部分块存储,对象存储,Orchestration 和 Telemetry 服务。计算节点上需要至少两块网卡。计算计算节点上运行计算服务中管理实例的管理程序部分。默认情况下,计算服务使用KVM。你可以部署超过一个计算节点。每个结算节点至少需要两块网卡。块设备存储可选的块存储节点上包含了磁盘,块存储服务和共享文件系统会向实例提供这些磁盘。为了简单起见,计算节点和本节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以增强性能和安全。你可以部署超过一个块存储节点。每个块存储节点要求至少一块网卡。对象存储可选的对象存储节点包含了磁盘。对象存储服务用这些磁盘来存储账号,容器和对象。为了简单起见,计算节点和本节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以增强性能和安全。这个服务要求两个节点。每个节点要求最少一块网卡。你可以部署超过两个对象存储节点。网络从下面的虚拟网络选项中选择一种选项。网络选项1:公共网络公有网络选项使用尽可能简单的方式主要通过layer-2(网桥/交换机)服务以及VLAN网络的分割来部署OpenStack网络服务。本质上,它建立虚拟网络到物理网络的桥,依靠物理网络基础设施提供layer-3服务(路由)。额外地 ,DHCP为实例提供IP地址信息。注解这个选项不支持私有网络,layer-3服务以及一些高级服务,例如:LBaaSandFWaaS。如果你需要这些服务,请考虑私有网络选项网络选项2:私有网络私有网络选项扩展了公有网络选项,增加了启用self-service覆盖分段方法的layer-3(路由)服务,比如 VXLAN。本质上,它使用 NAT路由虚拟网络到物理网络。另外,这个选项也提供高级服务的基础,比如LBaas和FWaaS。环境这个部分解释如何按示例架构配置控制节点和一个计算节点尽管大多数环境中包含认证,镜像,计算,至少一个网络服务,还有仪表盘,但是对象存储服务也可以单独操作。如果你的使用情况与涉及到对象存储,你可以在配置完适当的节点后跳到:swift。然而仪表盘要求至少要有镜像服务,计算服务和网络服务。你必须用有管理员权限的帐号来配置每个节点。可以用root用户或sudo工具来执行这些命令。为获得最好的性能,我们推荐在你的环境中符合或超过在 :ref:figure-hwreqs中的硬件要求。以下最小需求支持概念验证环境,使用核心服务和几个:term:CirrOS实例: 控制节点: 1 处理器, 4 GB 内存, 及5 GB 存储 计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储由于Openstack服务数量以及虚拟机数量的正常,为了获得最好的性能,我们推荐你的环境满足或者超过基本的硬件需求。如果在增加了更多的服务或者虚拟机后性能下降,请考虑为你的环境增加硬件资源。为了避免混乱和为OpenStack提供更多资源,我们推荐你最小化安装你的Linux发行版。同时,你必须在每个节点安装你的发行版的64位版本。每个节点配置一个磁盘分区满足大多数的基本安装。但是,对于有额外服务如块存储服务的,你应该考虑采用 :term:Logical Volume Manager (LVM)进行安装。对于第一次安装和测试目的,很多用户选择使用 :term:virtual machine (VM)作为主机。使用虚拟机的主要好处有一下几点: 一台物理服务器可以支持多个节点,每个节点几乎可以使用任意数目的网络接口。 在安装过程中定期进行“快照”并且在遇到问题时可以“回滚”到上一个可工作配置的能力。但是,虚拟机会降低您实例的性能,特别是如果您的 hypervisor 和/或 进程缺少硬件加速的嵌套虚拟机支持时。注解如果你选择在虚拟机内安装,请确保你的hypervisor提供了在public网络接口上禁用MAC地址过滤的方法。 安全OpenStack 服务支持各种各样的安全方式,包括密码 password、policy 和 encryption,支持的服务包括数据库服务器,且消息 broker 至少支持 password 的安全方式。为了简化安装过程,本指南只包含了可适用的密码安全。你可以手动创建安全密码,使用pwgen工具生成密码或者通过运行下面的命令:$ openssl rand -hex 10对 OpenStack 服务而言,本指南使用SERVICE_PASS 表示服务帐号密码,使用SERVICE_DBPASS 表示数据库密码。下面的表格给出了需要密码的服务列表以及它们在指南中关联关系:密码密码名称描述数据库密码(不能使用变量)数据库的root密码ADMIN_PASSadmin用户密码CEILOMETER_DBPASSTelemetry 服务的数据库密码CEILOMETER_PASSTelemetry 服务的ceilometer用户密码CINDER_DBPASS块设备存储服务的数据库密码CINDER_PASS块设备存储服务的cinder密码DASH_DBPASSDatabase password for the dashboardDEMO_PASSdemo用户的密码GLANCE_DBPASS镜像服务的数据库密码GLANCE_PASS镜像服务的glance用户密码HEAT_DBPASSOrchestration服务的数据库密码HEAT_DOMAIN_PASSOrchestration 域的密码HEAT_PASSOrchestration 服务中heat用户的密码KEYSTONE_DBPASS认证服务的数据库密码NEUTRON_DBPASS网络服务的数据库密码NEUTRON_PASS网络服务的neutron用户密码NOVA_DBPASS计算服务的数据库密码NOVA_PASS计算服务中nova用户的密码RABBIT_PASSRabbitMQ的guest用户密码SWIFT_PASS对象存储服务用户swift的密码OpenStack和配套服务在安装和操作过程中需要管理员权限。在很多情况下,服务可以与自动化部署工具如 Ansible, Chef,和 Puppet进行交互,对主机进行修改。例如,一些OpenStack服务添加root权限sudo可以与安全策略进行交互。另外,网络服务设定内核网络参数的默认值并且修改防火墙规则。为了避免你初始化安装的很多问题,我们推荐在你的主机上使用支持的发行版本。不管怎样,如果你选择自动化部署你的主机,在进一步操作前检查它们的配置和策略。主机网络在你按照你选择的架构,完成各个节点操作系统安装以后,你必须配置网络接口。我们推荐你禁用自动网络管理工具并手动编辑你相应版本的配置文件。出于管理目的,例如:安装包,安全更新,DNS和 :term:NTP,所有的节点都需要可以访问互联网。在大部分情况下,节点应该通过管理网络接口访问互联网。为了更好的突出网络隔离的重要性,示例架构中为管理网络使用private address space 并假定物理网络设备通过 :term:NAT或者其他方式提供互联网访问。示例架构使用可路由的IP地址隔离服务商(外部)网络并且假定物理网络设备直接提供互联网访问。在提供者网络架构中,所有实例直接连接到提供者网络。在自服务(私有)网络架构,实例可以连接到自服务或提供者网络。自服务网络可以完全在openstack环境中或者通过外部网络使用:term:NAT提供某种级别的外部网络访问。示例架构假设使用如下网络: 管理使用 /24 带有网关 这个网络需要一个网关以为所有节点提供内部的管理目的的访问,例如包的安装、安全更新、DNS,和NTP。 提供者网段 /24,网关这个网络需要一个网关来提供在环境中内部实例的访问。您可以修改这些范围和网关来以您的特定网络设施进行工作。网络接口由发行版的不同而有各种名称。传统上,接口使用 “eth” 加上一个数字序列命名。为了覆盖到所有不同的名称,本指南简单地将数字最小的接口引用为第一个接口,第二个接口则为更大数字的接口。除非您打算使用该架构样例中提供的准确配置,否则您必须在本过程中修改网络以匹配您的环境。并且,每个节点除了 IP 地址之外,还必须能够解析其他节点的名称。例如,controller这个名称必须解析为 1,即控制节点上的管理网络接口的 IP 地址。警告重新配置网络接口会中断网络连接。我们建议使用本地终端会话来进行这个过程。注解你的发行版本默认启用了限制firewall。在安装过程中,有些步骤可能会失败,除非你允许或者禁用了防火墙。 控制节点服务器 计算节点 验证连通性控制节点服务器o 配置网络接口o 配置域名解析配置网络接口1. 将第一个接口配置为管理网络接口:IP 地址: 1子网掩码: (or /24)默认网关: 2. 提供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络:将其中的 INTERFACE_NAME替换为实际的接口名称。例如,eth1或者*ens224*。o 编辑/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME文件包含以下内容:不要改变 键HWADDR 和UUID。DEVICE=INTERFACE_NAMETYPE=EthernetONBOOT=yesBOOTPROTO=none3. 重启系统以激活修改。配置域名解析1. 设置节点主机名为controller。2. 编辑/etc/hosts文件包含以下内容:# controller1 controller# compute1 compute1警告一些发行版本在/etc/hosts文件中添加了附加条目解析实际主机名到另一个IP地址如。为了防止域名解析问题,你必须注释或者删除这些条目。不要删除条目。注解为了减少本指南的复杂性,不管你选择怎么部署它们,我们为可选服务增加了主机条目。计算节点o 配置网络接口o 配置域名解析配置网络接口1. 将第一个接口配置为管理网络接口:IP 地址:1子网掩码: (or /24)默认网关: 注解另外的计算节点应使用 2、3 等等。2. 提供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络:将其中的 INTERFACE_NAME替换为实际的接口名称。例如,eth1或者*ens224*。o 编辑/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME文件包含以下内容:不要改变 键HWADDR 和UUID。DEVICE=INTERFACE_NAMETYPE=EthernetONBOOT=yesBOOTPROTO=none3. 重启系统以激活修改。配置域名解析1. 设置节点主机名为compute1。2. 编辑/etc/hosts文件包含以下内容:# controller1 controller# compute1 compute1警告一些发行版本在/etc/hosts文件中添加了附加条目解析实际主机名到另一个IP地址如。为了防止域名解析问题,你必须注释或者删除这些条目。不要删除条目。注解为了减少本指南的复杂性,不管你选择怎么部署它们,我们为可选服务增加了主机条目。验证连通性我们建议您在继续进行之前,验证到 Internet 和各个节点之间的连通性。1. 从*controller*节点,测试能否连接到 Internet:# ping -c 4 PING (25) 56(84) bytes of data.64 bytes from 25: icmp_seq=1 ttl=54 time=18.3 ms64 bytes from 25: icmp_seq=2 ttl=54 time=17.5 ms64 bytes from 25: icmp_seq=3 ttl=54 time=17.5 ms64 bytes from 25: icmp_seq=4 ttl=54 time=17.4 ms- ping statistics -4 packets transmitted, 4 received, 0% packet loss, time 3022msrtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms2. 从controller节点,测试到*compute* 节点管理网络是否连通:# ping -c 4 compute1PING compute1 (1) 56(84) bytes of data.64 bytes from compute1 (1): icmp_seq=1 ttl=64 time=0.263 ms64 bytes from compute1 (1): icmp_seq=2 ttl=64 time=0.202 ms64 bytes from compute1 (1): icmp_seq=3 ttl=64 time=0.203 ms64 bytes from compute1 (1): icmp_seq=4 ttl=64 time=0.202 ms- compute1 ping statistics -4 packets transmitted, 4 received, 0% packet loss, time 3000msrtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms3. 从compute节点,测试能否连接到 Internet:# ping -c 4 PING (25) 56(84) bytes of data.64 bytes from 25: icmp_seq=1 ttl=54 time=18.3 ms64 bytes from 25: icmp_seq=2 ttl=54 time=17.5 ms64 bytes from 25: icmp_seq=3 ttl=54 time=17.5 ms64 bytes from 25: icmp_seq=4 ttl=54 time=17.4 ms- ping statistics -4 packets transmitted, 4 received, 0% packet loss, time 3022msrtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms4. 从compute节点,测试到*controller* 节点管理网络是否连通:# ping -c 4 controllerPING controller (1) 56(84) bytes of data.64 bytes from controller (1): icmp_seq=1 ttl=64 time=0.263 ms64 bytes from controller (1): icmp_seq=2 ttl=64 time=0.202 ms64 bytes from controller (1): icmp_seq=3 ttl=64 time=0.203 ms64 bytes from controller (1): icmp_seq=4 ttl=64 time=0.202 ms- controller ping statistics -4 packets transmitted, 4 received, 0% packet loss, time 3000msrtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms注解你的发行版本默认启用了限制firewall。在安装过程中,有些步骤可能会失败,除非你允许或者禁用了防火墙。网络时间协议(NTP)你应该安装Chrony,一个在不同节点同步服务实现 NTP的方案。我们建议你配置控制器节点引用更准确的(lower stratum)NTP服务器,然后其他节点引用控制节点。 控制节点服务器 其它节点服务器 验证操作控制节点服务器在控制节点上执行这些步骤。1. 安装软件包:# yum install chrony2. 编辑/etc/chrony.conf文件,按照你环境的要求,对下面的键进行添加,修改或者删除:server NTP_SERVER iburst使用NTP服务器的主机名或者IP地址替换NTP_SERVER。配置支持设置多个server值。注解控制节点默认跟公共服务器池同步时间。但是你也可以选择性配置其他服务器,比如你组织中提供的服务器。3. 为了允许其他节点可以连接到控制节点的 chrony 后台进程,在/etc/chrony.conf 文件添加下面的键:allow /24如有必要,将/24替换成你子网的相应描述。4. 启动 NTP 服务并将其配置为随系统启动:# systemctl enable chronyd.service# systemctl start chronyd.service其他节点服务器其他节点会连接控制节点同步时间。在所有其他节点执行这些步骤。1. 安装软件包:# yum install chrony2. 编辑/etc/chrony.conf 文件并注释除server 值外的所有内容。修改它引用控制节点:server controller iburst3. 启动 NTP 服务并将其配置为随系统启动:# systemctl enable chronyd.service# systemctl start chronyd.service验证操作我们建议您在继续进一步的操作之前验证 NTP 的同步。有些节点,特别是哪些引用了控制节点的,需要花费一些时间去同步。1. 在控制节点上执行这个命令:# chronyc sources 210 Number of sources = 2 MS Name/IP address Stratum Poll Reach LastRx Last sample = - 1 2 7 12 137 -2814us-3000us +/- 43ms * 2 2 6 177 46 +17us -23us +/- 68ms在Name/IP address列的内容应显示NTP服务器的主机名或者IP地址。在S列的内容应该在NTP服务目前同步的上游服务器前显示*。2. 在所有其他节点执行相同命令:# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample = * controller 3 9 377 421 +15us -87us +/- 15ms在Name/IP address列的内容应显示控制节点的主机名。OpenStack包o 先决条件o 启用OpenStack库o 完成安装由于不同的发布日程,发行版发布 OpenStack 的包作为发行版的一部分,或使用其他方式。请在所有节点上执行这些程序。警告在你进行更多步骤前,你的主机必须包含最新版本的基础安装软件包。注解禁用或移除所有自动更新的服务,因为它们会影响到您的 OpenStack 环境。警告当使用RDO包时,我们推荐禁用EPEL,原因是EPEL中的更新破坏向后兼容性。或者使用yum-versionlock插件指定包版本号。 在CentOS中,extras仓库提供用于启用 OpenStack 仓库的RPM包。 CentOS 默认启用extras仓库,因此你可以直接安装用于启用OpenStack仓库的包。# yum install centos-release-openstack-mitaka 在RHEL上,下载和安装RDO仓库RPM来启用OpenStack仓库。# yum install /repos/rdo-release.rpm1. 在主机上升级包:# yum upgrade注解如果更新了一个新内核,重启主机来使用新内核。2. 安装 OpenStack 客户端:# yum install python-openstackclient3. RHEL 和 CentOS 默认启用了SELinux. 安装openstack-selinux软件包以便自动管理 OpenStack 服务的安全策略:# yum install openstack-selinux SQL数据库大多数 OpenStack 服务使用 SQL 数据库来存储信息。 典型地,数据库运行在控制节点上。指南中的步骤依据不同的发行版使用MariaDB或 MySQL。OpenStack 服务也支持其他 SQL 数据库,包括PostgreSQL 安全并配置组件1. 安装软件包:# yum install mariadb mariadb-server python2-PyMySQL2. 创建并编辑/etc/f.d/f,然后完成如下动作:o 在mysqld部分,设置bind-address值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:mysqld.bind-address = 1o 在mysqld 部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集:mysqld.default-storage-engine = innodbinnodb_file_per_tablemax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8完成安装1. 启动数据库服务,并将其配置为开机自启:# systemctl enable mariadb.service# systemctl start mariadb.service2. 为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。# mysql_secure_installationNoSQL数据库Telemetry 服务使用 NoSQL 数据库来存储信息,典型地,这个数据库运行在控制节点上。向导中使用MongoDB。注解只有按照文档 :ref:install_ceilometer安装Telemetry服务时,才需要安装NoSQL数据服务。安全并配置组件1. 安装MongoDB包:# yum install mongodb-server mongodb2. 编辑文件/etc/mongod.conf并完成如下动作:o 配置bind_ip使用控制节点管理网卡的IP地址。bind_ip = 1o 默认情况下,MongoDB会在/var/lib/mongodb/journal 目录下创建几个 1 GB 大小的日志文件。如果你想将每个日志文件大小减小到128MB并且限制日志文件占用的总空间为512MB,配置smallfiles的值:smallfiles = true你也可以禁用日志。完成安装 启动MongoDB 并配置它随系统启动:# systemctl enable mongod.service# systemctl start mongod.service消息队列OpenStack 使用message queue协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括RabbitMQ,Qpid, 和ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务。本指南安装 RabbitMQ 消息队列服务,因为大部分发行版本都支持它。如果你想安装不同的消息队列服务,查询与之相关的文档。安全并配置组件1. 安装包:# yum install rabbitmq-server2. 启动消息队列服务并将其配置为随系统启动:# systemctl enable rabbitmq-server.service# systemctl start rabbitmq-server.service3. 添加openstack用户:# rabbitmqctl add_user openstack RABBIT_PASSCreating user openstack .用合适的密码替换RABBIT_DBPASS。4. 给openstack用户配置写和读权限:# rabbitmqctl set_permissions openstack .* .* .*Setting permissions for user openstack in vhost / .Memcached认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。安全并配置组件1. 安装软件包:# yum install memcached python-memcached完成安装 启动Memcached服务,并且配置它随机启动。# systemctl enable memcached.service# systemctl start memcached.service认证服务 认证服务概览 安装和配置o 先决条件o 安全并配置组件o 配置 Apache HTTP 服务器o 完成安装 创建服务实体和API端点o 先决条件o 创建服务实体和API端点 创建域、项目、用户和角色 验证操作 创建 OpenStack 客户端环境脚本o 创建脚本o 使用脚本认证服务概览 OpenStack:term:Identity service为认证管理,授权管理和服务目录服务管理提供单点整合。其它OpenStack服务将身份认证服务当做通用统一API来使用。此外,提供用户信息但是不在OpenStack项目中的服务(如LDAP服务)可被整合进先前存在的基础设施中。 为了从identity服务中获益,其他的OpenStack服务需要与它合作。当某个OpenStack服务收到来自用户的请求时,该服务询问Identity服务,验证该用户是否有权限进行此次请求 身份服务包含这些组件: 服务器 一个中心化的服务器使用RESTful 接口来提供认证和授权服务。 驱动 驱动或服务后端被整合进集中式服务器中。它们被用来访问OpenStack外部仓库的身份信息, 并且它们可能已经存在于OpenStack被部署在的基础设施(例如,SQL数据库或LDAP服务器)中。 模块 中间件模块运行于使用身份认证服务的OpenStack组件的地址空间中。这些模块拦截服务请求,取出用户凭据,并将它们送入中央是服务器寻求授权。中间件模块和OpenStack组件间的整合使用Python Web服务器网关接口。 当安装OpenStack身份服务,用户必须将之注册到其OpenStack安装环境的每个服务。身份服务才可以追踪那些OpenStack服务已经安装,以及在网络中定位它们。安装和配置这一章描述如何在控制节点上安装和配置OpenStack身份认证服务,代码名称keystone。出于性能原因,这个配置部署Fernet令牌和Apache HTTP服务处理请求。先决条件在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。1. 完成下面的步骤以创建数据库:o 用数据库连接客户端以root用户连接到数据库服务器:$ mysql -u root -po 创建keystone数据库:CREATE DATABASE keystone;o 对keystone数据库授予恰当的权限:GRANT ALL PRIVILEGES ON keystone.* TO keystonelocalhost IDENTIFIED BY KEYSTONE_DBPASS;GRANT ALL PRIVILEGES ON keystone.* TO keystone% IDENTIFIED BY KEYSTONE_DBPASS;用合适的密码替换KEYSTONE_DBPASS。o 退出数据库客户端。2. 生成一个随机值在初始的配置中作为管理员的令牌。$ openssl rand -hex 10安全并配置组件注解默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(.)表示默认的配置选项你应该保留。注解教程使用带有mod_wsgi的Apache HTTP服务器来服务认证服务请求,端口为5000和35357。缺省情况下,Kestone服务仍然监听这些端口。然而,本教程手动禁用keystone服务。1. 运行以下命令来安装包。# yum install openstack-keystone httpd mod_wsgi3. 编辑文件/etc/keystone/keystone.conf并完成如下动作:o 在DEFAULT部分,定义初始管理令牌的值:DEFAULT.admin_token = ADMIN_TOKEN使用前面步骤生成的随机数替换ADMIN_TOKEN 值。o 在database部分,配置数据库访问:database.connection = mysql+pymysql:/keystone:KEYSTONE_DBPASScontroller/keystone将KEYSTONE_DBPASS替换为你为数据库选择的密码。o 在token部分,配置Fernet UUID令牌的提供者。vider = fernet4. 初始化身份认证服务的数据库:# su -s /bin/sh -c keystone-manage db_sync keystone注解忽略输出中任何不推荐使用的信息。5. 初始化Fernet keys:# keystone-manage fernet_setup -keystone-user keystone -keystone-group keystone配置Apache HTTP 服务器1. 编辑/etc/httpd/conf/httpd.conf 文件,配置ServerName 选项为控制节点:ServerName controller2. 用下面的内容创建文件/etc/httpd/conf.d/wsgi-keystone.conf。Listen 5000Listen 35357 WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%GROUP WSGIProcessGroup keystone-public WSGIScriptAlias / /usr/bin/keystone-wsgi-public WSGIApplicationGroup %GLOBAL WSGIPassAuthorization On ErrorLogFormat %cut %M ErrorLog /var/log/httpd/keystone-error.log CustomLog /var/log/httpd/keystone-access.log combined Require all granted WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%GROUP WSGIProcessGroup keystone-admin WSGIScriptAlias / /usr/bin/keystone-wsgi-admin WSGIApplicationGroup %GLOBAL WSGIPassAuthorization On Err
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法课件课教学课件
- 民法学课件教学课件
- 初中广东会考试卷及答案
- 新质生产力工业设备
- 新质生产力中考材料分析
- 新质生产力与教育家精神
- 施工临时用水施工方案
- 科技与新质生产力的关系
- 海事领域新质生产力感悟
- 新质生产力动图设计与制作技巧
- 2025年中国物流集团国际物流事业部招聘面试经验及模拟题集
- 乡镇安全培训课件
- 2025年航空业面试者必看航空公司招聘笔试预测试题及答案
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
- 2025年《中华人民共和国民法典》网络知识竞赛100题题库(含答案)
- 2025秋仁爱科普版(2024)七年级上册英语教学计划
- 2025四川省公安厅招聘辅警(448人)笔试参考题库附答案解析
- 《非物质文化遗产概论(第三版)》全套教学课件
- 2025新疆天泽和达水务科技有限公司部分岗位社会招聘28人笔试备考题库及答案解析
- 2025年信息安全应急演练记录
- 社区医院创建汇报课件
评论
0/150
提交评论