OpenStack newton部署
云计算Openstacks学习及实验部署文档

宁夏大学专业综合设计与开发实验报告Opens tack的搭建杨大爷s 班德尔城2016.11.1目录目录目录 (1)第一部分————基础知识 (3)1.opens tack是什么 (3)2.Openstack的计算设施————Nova (6)3.Openstack的镜像服务器————Glance (9)4.Openstack的管理Web的接口————Horizon (10)5.openstack的存储设备———— swift (10)5.Openstack的认证服务————Keystone (12)第二部分————openstack的搭建 (14)1.openstack安装的准备工作 (14)1.1实验环境 (14)1.2网络规划 (15)1.3实验环境的安装 (15)2.实验环境软件的安装 (24)2.1基础软件包---EPEL仓库 (24)2.2yun安装 (25)3.基础服务部署 (26)3.1数据库服务 (26)3.2消息代理服务RabbitMQ (28)4.认证服务keystone (29)4.1keystone的安装 (29)4.2keystone的配置 (30)4.3keystone管理 (32)4.4验证keystone安装 (34)5.Image services(Glance) (35)5.1glance安装 (35)5.2glance配置准备 (36)5.3设置数据库 (36)5.4设置rabbitmq (37)5.5设置keystone (37)5.6glance启动 (38)5.7测试glance (39)puter Services(Nova) (41)6.1NOVA安装 (41)6.2创建配置文件 (41)6.3nova的配置 (42)6.4创建nova service和endpoint (45)6.5启动nova service (46)6.6安装novnc并启动该服务 (47)6.7验证nova的安装 (47)7.Dashboard(Horizon) (48)7.1horizon配置 (48)7.2apache配置 (48)7.3启动apache (49)8. .Networking services(Neutron) (50)8.1neutron安装 (50)8.2neutron配置 (50)8.3neutron plugin (53)8.4neutron启动 (54)8.5测试neutron安装 (54)第一部分————基础知识1.opens tack是什么为了更好的理解,我们首先来说一下云计算的类型。
OpenStack两种部署节点对比

OpenStack两种部署节点对⽐1、控制节点⽹络设置/etc/network/interfaces添加源安装mysql,rabbitmqapt-get install mysql-server python-mysqldbmysql-server:MySQL是⼀个开放源码的⼩型关联式数据库管理系统,开发者为瑞典MySQL AB公司。
⽬前MySQL被⼴泛地应⽤在Internet上的中⼩型⽹站中。
由于其体积⼩、速度快、总体拥有成本低,尤其是开放源码这⼀特点,许多中⼩型⽹站为了降低⽹站总体拥有成本⽽选择了MySQL作为⽹站数据库。
python-mysqldb:Python(KK 英语发⾳:/ˈpaɪθən/), 是⼀种、直译式,由于1989年底发明,第⼀个公开发⾏版发⾏于1991年。
Python语法简洁⽽清晰,具有丰富和强⼤的类库。
它常被昵称为,它能够很轻松的把⽤其他语⾔制作的各种模块(尤其是/)轻松地联结在⼀起。
常见的⼀种应⽤情形是,使⽤python快速⽣成程序的原型(有时甚⾄是程序的最终界⾯),然后对其中有特别要求的部分,⽤更合适的语⾔改写,⽐如中的图形渲染模块,速度要求⾮常⾼,就可以⽤C++重写。
apt-get install rabbitmq-serverRabbitMQ是实现AMQP(⾼级消息队列协议)的消息中间件的⼀种,最初起源于⾦融系统,⽤于在分布式系统中存储转发消息,在易⽤性、扩展性、⾼可⽤性等⽅⾯表现不俗。
消息中间件主要⽤于组件之间的解耦,消息的发送者⽆需知道消息使⽤者的存在。
apt-get install ntpNetwork Time Protocol(NTP)是⽤来使计算机化的⼀种协议,它可以使对其或(如⽯英钟,GPS等等)做同步化,它可以提供⾼精准度的时间校正(LAN上与标准间差⼩于1毫秒,WAN上⼏⼗毫秒),且可介由加密确认的⽅式来防⽌恶毒的攻击。
apt-get install keystonekeystone这是提供⾝份认证和授权的组件。
openstack生产集群部署

openstack生产集群部署OpenStack是一种开源的云计算软件平台,它允许用户在私有云环境中构建和管理弹性和可扩展的云基础设施。
在生产环境中进行OpenStack 集群部署是一个复杂的过程,需要仔细规划和准备。
以下是一个关于OpenStack生产集群部署的详细解释,超过1200字。
第一步是规划和准备。
在开始OpenStack集群部署之前,您需要先进行规划并准备好所需的硬件和软件环境。
您需要评估您的需求,并选择合适的硬件来支持您的OpenStack集群。
这包括服务器、存储设备和网络设备。
您还需要选择一个适合您的操作系统来运行OpenStack,如CentOS、Ubuntu等。
同时,您需要确保硬件和软件环境的可靠性和稳定性。
第二步是安装和配置OpenStack服务。
在部署之前,您需要选择一种OpenStack的发行版来使用,如Red Hat OpenStack、Canonical OpenStack等。
在选择发行版后,您需要按照其提供的文档和指南来安装和配置OpenStack服务。
这包括设置控制节点和计算节点、配置网络和存储等。
您可能还需要安装和配置一些额外的服务和工具来增强OpenStack 的功能和性能,如容器管理工具Docker、大数据处理工具Hadoop等。
第三步是测试和调优。
在完成OpenStack集群的安装和配置后,您需要进行测试和调优来确保其稳定运行和性能。
您可以使用一些测试工具和负载生成器来模拟实际使用情况,并进行性能测试。
根据测试结果,您可以调整和优化OpenStack的配置和参数来提高其性能和可靠性。
此外,您还可以监控OpenStack集群的运行状态和资源使用情况,并根据需要进行调整和优化。
第四步是部署和管理应用程序。
一旦您成功地部署和配置了OpenStack集群,您可以开始部署和管理您的应用程序。
OpenStack提供了一些服务和工具来帮助您部署和管理应用程序,如虚拟机管理工具Nova、容器管理工具Magnum等。
openstack部署keystone

openstack部署keystone环境:免密钥,域名解析cat /etc/hosts192.168.42.120 controller192.168.42.121 compute192.168.42.122 storage安装服务一、安装openstack软件包1.安装openstack python客户端yum install python-openstackclient2.安装openstack selinux 的组件yum install openstack-selinux二、数据库1.安装mariadb mariadb-server python2-pyMySQLyum install mariadb mariadb-server python2-PyMySQL2.配置openstack配置文件vim /etc/f.d/f[mysqld] bind-address = 192.168.42.120 监听的地址default-storage-engine = innodb 默认数据库引擎innodb_file_per_table = onmax_connections = 4096 最大链接数(最好写大点)collation-server = utf8_general_ci 字符集character-set-server = utf8 server端的字符集3.重启并设置开机自启数据库systemctl restart mariadb.servicesystemctl enable mariadb.service4.初始化数据库mysql_secure_installation三、消息队列1.安装rabbitmq服务yum install rabbitmq-server2.重启并设置开机自启rabbitmqsystemctl restart rabbitmq-srever.servicesystemctl enable rabbitmq-server.service3.添加用户并设置权限,设置为管理员rabbitmqctl add_user openstack adminrabbitmqctl set_permissions openstack ".*" ".*" ".*"rabbitmqctl set_user_tags openstack administrator4.浏览器登录查看是否设置成功192.168.42.120:15672四、memcache1.安装缓存系统yum install memcached python-memcached2.编辑配置文件vim /etc/sysconfig/mamcachedOPTIONS="-l 127.0.0.1,::1,controller"写域名不写ip的原因:以后ip变化不需要修改配置文件,直接修改/etc/hosts文件即可3.重启并设置开机自启systemctl restart memcachedsystemctl enable memcached配置身份认证服务一、.创建domain,users,projects,roles1.登录数据库,创建以一个keystone数据库,并设置权限,可以第三方登录mysql -uroot -p0330create database keystonegrant all privileges on keystone.* to keystone@localhost identified by "keystone"grant all privileges on keystone.* to keystone@'%' identified by "keystone"2.安装keystone服务(通过调用http服务对外提供服务)yum install openstack-keystone httpd mod_wsgi3.修改配置文件cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak 先复制再修改vim /etc/keystone/keystone.conf-rw-r-----. 1 root keystone 771 6月 3 15:34 keystone.conf[DEFAULT][assignment] [auth] [cache] [catalog] [cors] [cors.subd omain] [credential] [database] connection = mysql pymysql://keystone:keystone@controller/keystone [domain_co nfig] [endpoint_filter] [endpoint_policy] [eventlet_server] [f ederation] [fernet_tokens] [healthcheck] [identity] [identity_ mapping] [kvs] [ldap] [matchmaker_redis] [memcache] [oa uth1] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_ messaging_notifications] [oslo_messaging_rabbit] [oslo_mess aging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] [policy] [profiler] [resource] [revoke] [role] [saml] [securit y_compliance] [shadow_users] [signing] [token] provider = fernet 用fornet组件创建token [tokenless_auth] [trust]4.同步数据库su -s /bin/sh -c "keystone-manage db_sync" keystone5.创建fornet配置,设置一个keystone用户和keystone组keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone6.创建keystone用户的身份信息keystone-manage credential_setup --keystone-user keystone --keystone-group keystone7.keystone服务的服务端点(必须是controller的主机名)keystone-manage bootstrap --bootstrap-password admin \ admin是openstack用户的密码--bootstrap-admin-url http://controller:35357/v3/ \ 管理网的服务端点:主机名:端口号:api版本--bootstrap-internal-url http://controller:5000/v3/ \ 内部--bootstrap-public-url http://controller:5000/v3/ \ 公共--bootstrap-region-id RegionOne8.编辑apache服务vim /etc/httpd/conf/httpd.confServerName controller9.通过wsgi这个模块调用apache(把模块链接到keystone的配置文件夹下)ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/10.重启并设置开机自启httpdsystemctl restart httpdsystemctl enable httpd11.创建admin用户的环境变量vim openrcexport OS_USERNAME=admin 宣告变量OS_USERNAME的值是adminexport OS_PASSWORD=admin 密码是adminexport OS_PROJECT_NAME=admin 项目是adminexport OS_USER_DOMAIN_NAME=Default 所处在的domain域export OS_PROJECT_DOMAIN_NAME=Default 项目域的名字export OS_AUTH_URL=http://controller:35357/v3 服务端点export OS_IDENTITY_API_VERSION=3 API版本二、创建domain, projects, users, and roles每次使用openstack命令之前必须宣告环境变量1.创建项目openstack project create --domain default \ --description "Service Project" service 域名叫default 项目service2.创建一个名为demo的项目,域名叫defaultopenstack project create --domain default \ --description "Demo Project" demoopenstack project list 查看项目列表3.创建demo的用户,处在default域中,弹出一个交互式的界面openstack user create --domain default \ --password-prompt demoopenstack user list 查看用户列表4.创建一个user角色openstack role create user 普通用户5.将一个demo项目里的demo用户的角色设为useropenstack role add --project demo --user demo user6.取消环境变量的值unset OS_AUTH_URL OS_PASSWORD7.验证openstack --os-auth-url http://controller:35357/v3 \ keystone的服务端点--os-project-domain-name default 登录的项目域名default--os-user-domain-name default \ 用admin项目里的admin用户登录--os-project-name admin --os-username admin token issue 采用token的方式验证出现交互式界面输入admin以上keystone服务部署完成。
OpenStack部署运维方案

OpenStack 部署运维方案目录1.OpenStack 简介 (3)2.Openstack私有云平台概况 (4)3.OpenStack 部署方案 (6)4.OpenStack 各组件配置 (8)5.OpenStack 底层依赖软件版本、配置以及性能调优 (14)6.运维经验 (17)本文介绍了基于OpenStack 开发的云计算管理平台,以及在开发、运营、维护过程中遇到的问题和经验分享。
作为大型互联网公司,IT 基础架构需要支撑包括生产、开发、测试、管理等多方面的需要,而且需求和请求的变化几乎每天都存在,需要内部的IT 基础架构能够足够灵活和健壮来满足各部门和团队的实际需要。
1.OpenStack 简介OpenStack 是一个开源的IaaS 实现,它由一些相互关联的子项目组成,主要包括计算、存储、网络。
OpenStack 兼容一部分AWS 接口,同时为了提供更强大的功能,也提供OpenStack 风格的接口(RESTFul API)。
和其他开源IaaS 相比,架构上松耦合、高可扩展、分布式、纯Python 实现,以及友好活跃的社区使其大受欢迎。
OpenStack 的主要子项目有:• Compute(Nova)提供计算虚拟化服务,是OpenStack 的核心,负责管理和创建虚拟机。
它被设计成方便扩展,支持多种虚拟化技术,并且可以部署在标准硬件上。
• Object Storage(Swift)提供对象存储服务,是一个分布式,可扩展,多副本的存储系统。
• Block Storage(Cinder),提供块存储服务,为OpenStack 的虚拟机提供持久的块级存储设备。
支持多种存储后端,包括Ceph,EMC 等。
• Networking(Neutron)提供网络虚拟化服务,是一个可拔插,可扩展,API 驱动的服务。
• Dashboard 提供了一个图形控制台服务,让用户方便地访问,使用和维护OpenStack 中的资源。
openstack部署方案

openstack部署方案OpenStack是一种开源的云计算平台,可以帮助用户自己搭建私有云环境。
它由一系列的组件组成,包括计算、存储、网络等。
在本篇文章中,我将讨论OpenStack的部署方案,并介绍其中的一些关键问题和考虑因素。
在开始之前,我们需要明确一个问题:为什么要选择OpenStack?首先,OpenStack是开源的,可以免费使用,并且有一个庞大的社区支持,因此可以获得及时的技术支持和更新。
其次,OpenStack提供了丰富的功能和灵活的架构,可以根据需求进行定制化开发。
此外,OpenStack的可扩展性也非常好,可以满足不同规模的需求。
现在,让我们来讨论一下OpenStack的部署方案。
首先,需要选择合适的硬件平台。
OpenStack对硬件的要求比较高,因此需要具备一定的计算和存储能力。
一般来说,推荐使用服务器级别的硬件,包括多个物理服务器和存储设备。
此外,还需要考虑网络设备的选择,以保证数据的传输效率和安全性。
接下来,需要选择合适的操作系统。
OpenStack支持多种操作系统,包括CentOS、Ubuntu等。
不同的操作系统有不同的优势和适用场景,因此需要根据自己的需求进行选择。
同时,还需要考虑操作系统的版本和更新情况,以确保系统的稳定性和安全性。
在部署过程中,网络配置是一个非常重要的问题。
OpenStack的网络模块提供了丰富的功能和选项,可以根据需求使用不同的网络类型,比如物理网络、VLAN、VXLAN等。
此外,还需要考虑网络的拓扑结构和安全策略,以确保数据的传输和访问的安全性。
此外,还需要考虑存储方案的选择。
OpenStack支持多种存储类型,包括本地存储、网络存储等。
对于存储的选择,需要根据数据的访问频率和访问速度的要求进行考虑。
同时,还需要考虑数据的备份和恢复策略,以确保数据的可靠性和可用性。
另外一个重要的问题是安全性。
OpenStack涉及到大量的数据传输和访问,因此需要采取安全措施来保护数据的安全性和隐私。
openstack的安装和部署

openstack的安装和部署1.什么是云计算1:什么是云计算?云计算是通过虚拟化技术去实现的,它是⼀种按量付费的模式!2:为什么要⽤云计算?⼩公司:1年,20⼈+,500w,招⼀个运维,15k,(10台*1.5w,托管IDC机房,8k/年,带宽 100M,5个公⽹ip, 10k/⽉), 买10台云主机,600*10=6000⼤公司:举⾏活动,加集群,把闲置时间出租,超卖(kvm)16G,kvm,64G(ksm),⾦牌⽤户(200w+/⽉)3:云计算有哪些功能?虚拟机的管理平台(计费)kvm:1000宿主机(agent),虚拟出2w虚拟机,虚拟机的详细情况:硬件资源,ip情况统计?虚拟机管理平台:每台虚拟机的管理,都⽤数据库来统计4:云计算的服务类型IAAS 基础设施即服务 ECS云主机⾃⼰部署环境,⾃⼰管理代码和数据infrastructure as an servicePAAS(docker) 平台即服务提供软件的运⾏环境,java ,python,go, c#,nodejs ⾃⼰管理代码和数据platfrom as an serviceSAAS 软件即服务企业邮箱,cdn,rdssoftware as an serviceopenstack实现的是云计算IAAS,开源的云计算平台,apache 2.0,阿⾥云(飞天云平台)2.openstack (soa架构)云平台(keystone认证服务,glance镜像服务,nova计算服务,neutron⽹络服务,cinder存储服务,horizon web界⾯)每个服务:数据库,消息队列,memcached缓存,时间同步⾸页/index.html秒杀/miaosha/index.html会员:/plus/index.html登录:/login/indexnginx+php +mysql(500张表)SOA(拆业务,把每⼀个功能都拆成⼀个独⽴的web服务,每⼀个独⽴的web服务,⾄少拥有⼀个集群)微服务架构:亿级⽤户开源的微服框架阿⾥开源的dubbospring boot⾃动化代码上线 Jenkins + gitlab ci⾃动化代码质量检查 sonarqube官⽹:openstack 版本A-Z 开头3.虚拟机规划controller:内存3G,cpu开启虚拟化,ip:10.0.0.11compute01:内存1G,cpu开启虚拟化(必开),ip:10.0.0.31host解析,[root@controller ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.11 controller10.0.0.31 computer1[root@controller ~]# scp -rp /etc/hosts 10.0.0.31 /etc/hosts4.配置yum源1.挂载光盘[root@computer1 ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@controller ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only#查看(如果有内容代表挂载成功)[root@computer1 ~]# ll /mnttotal 686-rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTagdrwxr-xr-x 3 root root 2048 Nov 26 2018 EFI-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPLdrwxr-xr-x 3 root root 2048 Nov 26 2018 imagesdrwxr-xr-x 2 root root 2048 Nov 26 2018 isolinuxdrwxr-xr-x 2 root root 2048 Nov 26 2018 LiveOSdrwxrwxr-x 2 root root 663552 Nov 26 2018 Packagesdrwxrwxr-x 2 root root 4096 Nov 26 2018 repodata-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL[root@controller ~]# scp -rp openstack_rpm.tar.gz 10.0.0.31:/optrz 上传openstack_rpm.tar.gz到/opt,并解压⽣成repo配置⽂件root@controller opt]# vim/etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntgpgcheck=0[openstack]name=openstackbaseurl=file:///opt/repogpgcheck=0root@controller opt]#echo 'mount /dev/cdrom /mnt' >>/etc/rc.localroot@controller opt]# chmod +x /etc/rc.d/rc.local[root@controller opt]# scp -rp /etc/yum.repos.d/local.repo 10.0.0.31:/etc/yum.repos.d/local.repo [root@computer1 opt]# vim /etc/yum.repos.d/local.repo[root@computer1 opt]# echo 'mount /dev/cdrom /mnt' >>/etc/rc.local[root@computer1 opt]# chmod +x /etc/rc.d/rc.local#注意:两台都要配2.安装基础服务在所有节点上执⾏:a:时间同步[root@controller opt]# yum install -y chrony[root@computer1 opt]# yum install -y chrony#编辑控制节点配置⽂件[root@controller opt]# vim /etc/chrony.conf1.将 server iburst 改成server iburst另三⾏删掉2.将 #allow 192.168.0.0/1改成allow 10.0.0.0/24#重启服务[root@controller opt]# vim /etc/chrony.confsystemctl restart chronyd#编辑计算节点[root@computer1 opt]# vim /etc/chrony.conf将 server iburst 改成server 10.0.0.11 iburst另三⾏删掉[root@computer1 opt]# systemctl restart chronyd5.安装openstack客户端和openstack-selinux1.在所有节点上执⾏[root@control ~]# yum install python-openstackclient openstack-selinux -y[root@computer1 ~]# yum install python-openstackclient openstack-selinux -y查看官⽅⽂档6.安装数据库以及安全初始化2.仅控制节点执⾏:[root@control ~]# yum install mariadb mariadb-server python2-PyMySQL -y在官⽅⽂档上有https:///mitaka/zh_CN/install-guide-obs/environment-sql-database.html3.创建并编辑 /etc/f.d/f[root@control ~]# cat /etc/f.d/f[mysqld]bind-address = 10.0.0.11 # 值为控制节点的管理⽹络IP地址以使得其它节点可以通过管理⽹络访问数据库default-storage-engine = innodb #默认存储引擎innodb_file_per_table #为每个表独⽴表空间⽂件max_connections = 4096 #最⼤连接数collation-server = utf8_general_ci # 默认字符集character-set-server = utf84.启动mariadb 并加⼊开机⾃启[root@control ~]# systemctl start mariadb[root@control ~]# systemctl enable mariadb5. 为了保证数据库服务的安全性,运⾏[root@control ~]# mysql_secure_installation ⼀定要执⾏要不然后⾯时间同步会有坑脚本。
Openstack部署手册

目录一、服务器配置 (2)二、组件安装 (5)三、数据库安装配置 (6)四、Keystone配置 (7)五、glance配置 (11)六、nova配置 (13)七、dashboard配置 (19)八、镜像制作 (19)附件一:配置文件 (20)附件二:安装错误处理 (33)一、服务器配置1、下载ubuntu 12.04. 服务器版本。
地址://precise/ubuntu-12.04-beta2-server-amd64.iso2、安装OS操作系统最小化安装,只需要安装ssh server,其他组件不需要。
操作系统安装好需要更新源里的包、系统。
确保装的是最新版本的包。
命令如下:apt-get updateapt-get upgrade注:更新时网络代理配置如下:root@ubuntu:/opt# cat /etc/apt/apt.confAcquire::http::Proxy "http://133.64.81.236:8080/";3、root权限zhang@ubuntu:~$ sudo passwd[sudo] password for zhang:Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully4、网络配置root@ubuntu:/opt# cat /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet staticaddress 133.64.96.26netmask 255.255.255.128network 133.64.96.0broadcast 133.64.96.127gateway 133.64.96.1# dns-* options are implemented by the resolvconf package, if installeddns-nameservers 133.64.96.1auto eth1iface eth1 inet staticaddress 192.168.3.130netmask 255.255.255.128network 192.168.3.128broadcast 192.168.3.255二、组件安装1、bridge配置使用apt-get安装如下:apt-get install bridge-utils/etc/init.d/networking restart2、NTP配置apt-get install ntp编辑/etc/ntp.conf 在末尾添加下面3行server iburstserver 127.127.1.0fudge 127.127.1.0 stratum 10重启服务service ntp restart3、iscsi配置apt-get install tgt/etc/init.d/tgt startapt-get install open-iscsi open-iscsi-utils4、rabbitmq配置apt-get install rabbitmq-server memcached python-memcache apt-get install kvm libvirt-bin三、数据库安装配置1、安装数据库apt-get install mysql-server python-mysqldb编辑/etc/mysql/f, 允许网络访问mysql#bind-address = 127.0.0.1bind-address = 0.0.0.0重启mysql服务/etc/init.d/mysql restart2、创建相关数据库mysql -uroot -p123456CREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456'; CREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456'; CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'IDENTIFIED BY '123456'; quit四、Keystone配置1、keystone的安装apt-get install keystone python-keystone python-keystoneclient2、keystone配置编辑/etc/keystone/keystone.conf[DEFAULT]#bind_host = 0.0.0.0public_port = 5000admin_port = 35357#admin_token = ADMINadmin_token = admin[sql]#connection = sqlite:////var/lib/keystone/keystone.dbconnection = mysql://keystone:123456@133.64.96.26/keystone3、重启服务service keystone restart4、同步数据库keystone-manage db_sync5、导入数据和endpoint为了方便,你可以直接使用下面2个脚本来进行全部的设置(1)、keystone_data.sh 导入用户信息wget /wp-content/uploads/2012/07/keystone_data.sh_.txtmv keystone_data.sh_.txt keystone_data.shchmod +x keystone_data.sh对于keystone_data.sh 脚本,默认的登陆dashboard的密码是:chenshake,Token是chenshake。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OpenStack newton部署一、环境共需要2台主机192.168.100.181 controller为控制节点和计算节点192.168.100.182 compute1为计算节点安装centos7.2关闭防火墙(控制节点和计算节点都做)关闭selinux/etc/sysconfig/selinuxSELINUX=disabledsetenforce 0关闭iptablessystemctl start firewalld.servicesystemctl stop firewalld.servicesystemctl disable firewalld.service下面的表格给出了需要密码的服务列表以及它们的关系:1.控制节点服务器控制节点共配置2块网卡eth1:192.168.100.181eth2:不设置ip为trunk模式添加/etc/hosts设置NTP服务# yum install chrony编辑/etc/chrony.confallow192.168.100.0/24允许192.168.100.0网段访问启动NTP服务# systemctl enable chronyd.service# systemctl start chronyd.service# timedatectl set-timezone Asia/Shanghai 设置时区# timedatectl status 查看时区安装openstack源及软件包yum install centos-release-openstack-newtonyum upgradeyum install python-openstackclientyum install openstack-selinuxyum install mariadbmariadb-server python2-PyMySQLyum install rabbitmq-serveryum install memcached python-memcachedyum install openstack-keystone httpdmod_wsgiyum install openstack-glanceyum install openstack-nova-apiopenstack-nova-conductor openstack-nova-console openstack-nova-novncproxyopenstack-nova-scheduleryum install openstack-nova-computeyum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridgeebtablesipsetyum install openstack-dashboard开启nova用户的登录权限.usermod -s /bin/bash nova生成秘钥(各个计算节点执行) 控制节点也需要互信su– nova/usr/bin/ssh-keygen -t rsa/usr/bin/ssh-keygen -t dsa所有计算节点均配置cat<< EOF > ~/.ssh/configHost *StrictHostKeyChecking noUserKnownHostsFile=/dev/nullEOF分发ssh到各个计算节点computer1scp id_dsa.pub 192.168.100.181:/var/lib/nova/.ssh/id_dsa.pub3scp id_rsa.pub 192.168.100.181:/var/lib/nova/.ssh/id_rsa.pub3controller(192.168.100.181):cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2 id_rsa.pub3 id_dsa.pub3 >authorized_keyschmod 644 authorized_keysscpauthorized_keys computer1:/var/lib/nova/.ssh修改权限chownnova:nova /var/lib/nova/.ssh/id_rsa/var/lib/nova/.ssh/authorized_keys数据库配置创建/etc/f.d/f文件[root@controller ~]# cat /etc/f.d/f[mysqld]bind-address = 192.168.100.181default-storage-engine = innodbinnodb_file_per_tablemax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8启动mariadb# systemctl enable mariadb.service# systemctl start mariadb.servic为了保证数据库服务的安全性,运行``mysql_secure_installation``脚本。
特别需要说明的是,为数据库的root用户设置一个适当的密码。
# mysql_secure_installationPassword:123456完成下面的步骤以创建数据库:1.用数据库连接客户端以 root 用户连接到数据库服务器:#mysql -u root -p创建 keystone 数据库:mysql>CREATE DATABASE keystone;对keystone数据库授予恰当的权限:mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';用合适的密码替换 KEYSTONE_DBPASS 。
(这边我们用keystone)创建 glance 数据库mysql> CREATE DATABASE glance;对glance数据库授予恰当的权限mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \IDENTIFIED BY 'GLANCE_DBPASS';mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \IDENTIFIED BY 'GLANCE_DBPASS';用一个合适的密码替换 GLANCE_DBPASS。
(这边我们用glance)创建 nova_api 和 nova 数据库:mysql> CREATE DATABASE nova_api;mysql> CREATE DATABASE nova;对数据库进行正确的授权mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \IDENTIFIED BY 'NOVA_DBPASS';mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \IDENTIFIED BY 'NOVA_DBPASS';mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \IDENTIFIED BY 'NOVA_DBPASS';mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \IDENTIFIED BY 'NOVA_DBPASS';用合适的密码代替 NOVA_DBPASS(这里我们用nova)创建neutron数据库mysql> CREATE DATABASE neutron;对neutron数据库授予合适的访问权限,使用合适的密码替换NEUTRON_DBPASSmysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'NEUTRON_DBPASS';mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \IDENTIFIED BY 'NEUTRON_DBPASS';(这里我们用密码:neutron)rabbitmq配置启动rabbitmq# systemctl enable rabbitmq-server.service# systemctl start rabbitmq-server.service添加openstack用户# rabbitmqctladd_useropenstack RABBIT_PASS用合适的密码替换RABBIT_PASS给``openstack``用户配置写和读权限#rabbitmqctlset_permissionsopenstack ".*" ".*" ".*"# rabbitmq-plugins list #查看支持的插件# rabbitmq-plugins enable rabbitmq_management #启动插件#systemctl restart rabbitmq-server.service#lsof -i:15672访问RabbitMQ,访问地址是http://192.168.100.181:15672默认用户名密码都是guest,浏览器添加openstack用户到组并登陆测试,连不上情况一般是防火墙没有关闭所致!之后退出使用openstack登录启动memcached# systemctl enable memcached.service# systemctl start memcached.service1.keystone配置编辑/etc/keystone/keystone.conf配置文件cat /etc/keystone/keystone.conf|grep -v "^#"|grep -v "^$"[DEFAULT][assignment][auth][cache][catalog][cors][cors.subdomain][credential][database]connection = mysql+pymysql://keystone:keystone@controller/keystone [domain_config][endpoint_filter][endpoint_policy][eventlet_server][federation][fernet_tokens]provider = fernet[identity][identity_mapping][kvs][ldap][matchmaker_redis][memcache][oauth1][os_inherit][oslo_messaging_amqp][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][paste_deploy][policy][profiler][resource][revoke][role][saml][security_compliance][shadow_users][signing][token][tokenless_auth][trust]初始化身份认证服务的数据库# su -s /bin/sh -c "keystone-manage db_sync" keystone初始化Fernet keys:# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone# keystone-manage credential_setup --keystone-user keystone --keystone-groupkeystone引导keystone服务# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \--bootstrap-admin-url http://controller:35357/v3/ \--bootstrap-internal-url http://controller:35357/v3/ \--bootstrap-public-url http://controller:5000/v3/ \--bootstrap-region-id RegionOneADMIN_PASS为登录密码和管理员密码(这边为admin)配置Apache HTTP 服务编辑/etc/httpd/conf/httpd.conf文件,配置ServerName选项为控制节点ServerName controller创建一个/usr/share/keystone/wsgi-keystone.conf连接# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/启动HTTP服务# systemctl enable httpd.service# systemctl start httpd.service配置管理账户$ export OS_USERNAME=admin$ export OS_PASSWORD=ADMIN_PASS$ export OS_PROJECT_NAME=admin$ export OS_USER_DOMAIN_NAME=default$ export OS_PROJECT_DOMAIN_NAME=default$ export OS_AUTH_URL=http://controller:35357/v3$ export OS_IDENTITY_API_VERSION=3ADMIN_PASS为管理员密码(这边为admin)创建服务项目$ openstack project create --domain default --description "Service Project"service创建演示项目$ openstack project create --domain default --description "Demo Project" demo创建demo用户$ openstack user create --domain default --password-prompt demo创建用户角色$ openstack role create user添加user用户到demo项目和用户中$ openstack role add --project demo --user demo user因为安全性的原因,关闭临时认证令牌机制:编辑 /etc/keystone/keystone-paste.ini 文件,从[pipeline:public_api],[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth 。