搭建openstack云平台的关键步骤,openstack是一个开源的云操作系统
什么是目录开放栈?1.基础准备1发布和部署2硬件准备3硬件信息详细介绍2软件环境主机网络2NTP )3.openstack包4 .SQL数据库5
什么是openstack?Openstack是一个云操作系统,用于控制整个数据中心的大量计算、存储和网络资源所有这些都是使用具有通用认证机制的api来管理和配置的此外,还提供了管理员可以控制的仪表板和用户可以通过web界面提供资源的仪表板除了标准的服务基础设施功能,其他组件还提供组织、故障管理和服务管理等服务,以确保用户APP应用的高可用性
我们的目标是建立一个类似于AlibabaCloud的云计算平台当然,我们搭建的是一个具有基本功能的平台,还需要添加不同的组件来扩展更多的功能
一、基础准备1版本部署从最常见的OpenStack服务开始这里有两个官方版本我们将选择组件较少的Mitaka版本进行部署系统的版本是红帽企业版Linux 7和CentOS 7官方文档链接:https://docs . open stack.org/MIT aka/zh _ cn/install-guide
在此示例体系结构中,至少需要两个(主机)节点(术语:虚拟机虚拟机(VM)或实例)来启动基本服务在块存储服务和对象存储服务、认证服务、镜像服务、计算服务的管理、网络服务的管理、多个网络代理和仪表板等服务中,还必须包括SQL数据库、term: message queue和ANNTP等支持服务在计算节点上运行部分虚拟机管理程序,以管理计算服务中的实例默认情况下,计算服务使用KVM您可以部署一个或多个计算节点每个计算节点至少需要两个网卡一个节点可以运行一些块存储、对象存储、编排和遥测服务节点的内存至少要4G,双网卡,要添加的网卡模式必须是主机路径跟踪模式
3.硬件信息详细说明了每个节点必须由具有管理员权限的帐户进行配置您可以使用root或sudo工具来执行这些命令为了获得最佳性能,建议在客户环境中满足或超过以下硬件要求:ref:figure-hwreqs以下最低要求支持概念验证环境:使用核心服务和多个:术语:CirrOS实例:实施节点:1个处理器、4 GB内存和5 GB存储计算节点:处理器、2 GB内存和10由于Openstack服务和虚拟机的数量正常,请满足环境要求以获得最佳性能或者如果在添加更多服务或虚拟机(建议10 GB存储)后性能下降,请向环境添加硬件资源2.软件环境1.主机网络配置控制节点网络的第一个网卡的一般配置第二块网卡先改变网卡的命名形式(保持与第一块网卡相同的命名形式,未知错误IP[root @ controller ~]# CD/boot/grub 2/[root @ controller grub 2]# catgrubnv # Grubenvironmentblocked _ entry=redhatenterpriselinuxserver(3 . 10 . 0-957 . el7 . x86 _ 65374;64) 7.6 mai,重启并启用虚拟机编辑/etc/sys config/network-scripts/if CFG-et h1文件device=et h1 on boot=yesbootproto=none ifupeted
域名解析配置:将节点的主机名设置为controller,将计算节点设置为compute1,将存储节点设置为block1
2.NTP)必须确保不同节点之间的时间同步使用chrony实现
yum Chrony-y % install[root @ controller ~]# vim/etc/chronoy . conf % host time server host IP I burst is other node allow other node IP segment/24 [root @ controller ~]# systemctleable-nowchronyd %设置为在启动后立即启动[root]
3.配置3OpenStack软件包在apache的默认分发目录下下载资源包Path是为openstack客户端RHEL和CentOS的默认SELinux启用的,它们是刚刚安装在主机上资源包位置的升级包
安装openstack-selinux软件包以便自动管理OpenStack服务的安全策略(这里我们禁用了防火墙和防火墙,因此这一步可以不做)【root @ controller yum回购d]# yum升级%主机上升级包【root @ controller yum回购好吃的安装python-openstackclient -y %安装OpenStack客户端
4.结构化查询语言数据库大多数OpenStack服务使用结构化查询语言数据库来存储信息典型地,数据库运行在控制节点上指南中的步骤依据不同的发行版使用MariaDB或MySQLOpenStack服务也支持其他结构化查询语言数据库,包括PostgreSQL http://www.postgresql.org/__.
【root @ controller yum回购d]# yum安装Maria db Maria db-服务器python 2-PyMySQL-y %安装软件包创建并编辑/etc/myCNFd/开放堆栈CNF:[mysqld]绑定地址=xxxxx
x %在[mysqld]部分,设置绑定地址值为控制节点的管理网络互联网协议(互联网协议)地址以使得其它节点可以通过管理网络访问数据库default-storage-engine=innodb %在[mysqld]部分,设置如下键值来启用一起有用的选项和UTF-8字符集innodb _ file _ per _ tablemax _ connections=4096 collation-server=utf8 _ general _ cicharacter-set-server=utf8启动数据库服务,并将其配置为开机自启运行mysql _安全_安装脚本安全安装数据库【root @ controller yum。回购。d]# CD/etc/my。CNF。d/[root @ controller my。cn f . d]# lsauth _ gssapi。CNF启用_加密。预设MySQL客户端。CNF客户。CNF玛利亚数据库服务器。CNF到库德布。CNF[root @ controller my。cn f . d]# vim开放堆栈。CNF[root @ controller my。cn f . d]# system CTL enable-now Maria db。服务创建的/etc/systemd/中的符号链接中请仔细阅读每一步!为了登录MariaDB以保护它,我们需要根用户的当前密码.如果您刚刚安装了玛丽雅迪,并且还没有设置根密码,密码将是空白的,所以您应该在这里按进入键。输入根用户的当前密码(输入表示无密码):好,密码使用成功,继续.设置根密码可以确保没有人能够在没有适当授权的情况下登录到马里亚布鲁特用户。设置根密码?[Y/n] yNew密码:%密码设置为韦斯特奥斯雷重新输入新密码:密码更新成功!重新加载权限表.成功!默认情况下,MariaDB安装有一个匿名用户,允许任何人登录玛丽雅迪,而不必为他们创建用户帐户。这只是为了测试,并使安装更加顺利。您应该在进入生产环境之前删除它们。删除匿名用户?[是/否]是.成功!通常,应该只允许根从"本地主机"连接。这确保了别人无法从网络上猜测到根密码。不允许远程根登录?[是/否]是.成功!默认情况下,MariaDB附带一个名为“测试”的数据库,任何人都可以访问。这也仅用于测试,应该在进入生产环境之前删除。是否删除测试数据库并访问它?[Y/n] y -下降测试数据库.成功!-删除测试数据库的权限.成功!重新加载权限表将确保到目前为止所做的所有更改会立即生效。现在重新加载权限表吗?[是/否]是.成功!清理.全部完成!如果您已经完成了上述所有步骤,那么您的数据库安装现在应该是安全的了。感谢使用MariaDB!
5.消息队列OpenStack使用信息排队协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括RabbitMQ,Qpid,和ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务。本指南安装兔子q消息队列服务,因为大部分发行版本都支持它。如果你想安装不同的消息队列服务,查询与之相关的文档。
【root @ controller我的。cn f . d]# yum install rabbit MQ-server-y %安装相关组件【root @ controller我的。cn f . d]#系统CTL启用-现在兔子MQ-服务器。服务百分比启动消息队列服务并将其配置为随系统启动已创建从/etc/systemd/system/多用户。目标。wants/rabbit MQ-server。服务到/usr/lib/systemd/system/rabbit MQ-server。服务的符号链接。【root @ controller我的。cn f . d]# rabbit MQ CTL add _ user open stack open stack %添加云计算用户,密码最好和用户名保持一致,也设置为openstack,之后配置的各种服务用户名和密码的设置最好也遵循用户名和密码一致的规则正在创建用户" openstack ".【root @ controller我的。CNF。d]# rabbit mqctl set _ permissions打开堆栈.* .* .* %给云计算用户配置写和读权限正在为vhost"/"中的用户" openstack "设置权限.[root @ controller ~]# netstat-antulp %查看端口,通过15672端口可以访问网图形化界面
6.memcached认证服务认证缓存使用Memcached缓存令牌。缓存服务迷因缓存运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。
[root@controller ~]# yum安装memcached python-memcached -y %安装软件包[root @ controller ~]# vim/etc/sys config/memcached PORT= 11211 USER= memcached maxconn= 1024 CACHESIZE= 64 # OPTIONS=-l 127。0 .0 .1,1 %注释这一行,表示允许所有网段(公网)访问[root @ controller ~]# system CTL enable-now memcached。服务创建了从/etc/systemd/system/多用户。目标。wants/memcached。服务到/usr/lib/systemd/system/memcached。服务的符号链接. root @ controller ~]# netstat-antulp grep 11211% memcache 1211端口开启TCP 0 0 0。0 .0 .0:11211 0 .0 .0 .0:*列出EN 15693/memcached TCP 6 0 0:11211:*列出EN 15693/memcached UDP 0 0。0 .0:11211 0 .0 .0:0:* 15693/memcached UDP 6 0:11211:* 15693/memcach