1.什么是OpenStack
OpenStack是一系列开源软件项目的组合。
OpenStack是目前非常流行的开源云操作系统
OpenStack是基础设施资源的系统管理平台。
OpenStack对数据中心的计算、存储和网络资源进行统一管理。
OpenStack作为虚拟机、裸金属服务器和容器等的云基础架构和基础设施平台。
2. OpenStack项目及其组成
3. OpenStack项目及其组成
仪表板(Dashboard)——Horizon
计算服务(Compute Service)——Nova
网络(Networking)——Neutron
对象存储(Object Storage)——Swift
块存储(Block Storage)——Cinder
身份服务(Identity Service)——Keystone
镜像(Image Service)——Glance
OpenStack基金会与社区
OpenStack基金会是一个非营利组织。
OpenStack基金会分为个人会员和企业会员两大类。
OpenStack社区是世界上规模非常大也非常完善的开源社区之一。
技术委员会负责总体管理全部OpenStack项目。
项目技术负责人则负责管理项目内的事务,对项目本身的发展进行决策。
OpenStack社区对个人会员而言是非常开放的。
4.OpenStack安装
- 准备OpenStack安装环境
- 创建实验用的虚拟机实例。
- 在实验用虚拟机实例中安装CentOS。
- 禁用防火墙与SELinux。
- 停用NetworkManager服务。
- 设置网络。
- 设置主机名。
- 更改语言编码。
- 设置时间同步
5.快速安装:
基于Packstack安装器安装一体化OpenStack云平台
5.1 准备工作:
(1)准备一台能够安装OpenStack的实验用计算机,建议使用VMware虚拟机。
(2)该计算机应安装CentOS 7,我这是基于CentOS 7.6版本。
(3)禁用防火墙与SELinux。
[root@hadoop1 ~]# systemctl stop firewalld
(4)停用NetworkManager服务。
[root@hadoop1 ~]# systemctl stop NetworkManager [root@hadoop1 ~]# systemctl disable NetworkManager
(5)设置网卡。
[root@hadoop1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 重启网卡服务 [root@hadoop1 ~]# systemctl restart network
(6)设置主机名。
# 作为举例,我这里最后一个单词hadoop1 是主机名; 可以更改为自己的主机名 [root@hadoop1 ~]# hostnamectl set-hostname hadoop1
(7)设置时间同步
[root@hadoop1 ~]# yum -y install chrony 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * centos-ceph-nautilus: mirrors.aliyun.com * centos-nfs-ganesha28: mirrors.ustc.edu.cn * centos-openstack-train: mirrors.aliyun.com * centos-qemu-ev: mirrors.aliyun.com * epel: mirrors.bfsu.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.cn99.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 chrony.x86_64.0.3.2-2.el7 将被 升级 ---> 软件包 chrony.x86_64.0.3.4-1.el7 将被 更新 --> 解决依赖关系完成 依赖关系解决 ============================================================================================================================================================= Package 架构 版本 源 大小 ============================================================================================================================================================= 正在更新: chrony x86_64 3.4-1.el7 base 251 k 事务概要 ============================================================================================================================================================= 升级 1 软件包 总计:251 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在更新 : chrony-3.4-1.el7.x86_64 1/2 清理 : chrony-3.2-2.el7.x86_64 2/2 验证中 : chrony-3.4-1.el7.x86_64 1/2 验证中 : chrony-3.2-2.el7.x86_64 2/2 更新完毕: chrony.x86_64 0:3.4-1.el7 完毕!
5.2 详细操作记录
(1)准备所需的软件库。
# 安装Linux的epel的yum源的命令, 补充CentOS内容更新有时较滞后或缺失一些扩展的源 [root@hadoop1 ~]# yum -y install epel-release [root@hadoop1 ~]# yum install -y python2-setuptools [root@hadoop1 ~]# yum -y install centos-release-openstack-train
(2)安装Packstack软件。
[root@hadoop1 ~]# yum -y install openstack-packstack
(3)运行Packstack,以“All-in-One”方式安装OpenStack Train版本。
[root@hadoop1 ~]# packstack --allinone Installing: Clean Up [ DONE ] Discovering ip protocol version [ DONE ] # 设置SSH密钥 Setting up ssh keys [ DONE ] # 准备服务器 Preparing servers [ DONE ] # 预安装Puppet并探测主机详情 Pre installing Puppet and discovering hosts' details [ DONE ] # 准备预装的项目 Preparing pre-install entries [ DONE ] # 设置证书 Setting up CACERT [ DONE ] # 准备AMQP(高级消息队列协议)项目 Preparing AMQP entries [ DONE ] # 准备MariaDB(代替MySQL)数据库项目 Preparing MariaDB entries [ DONE ] # 修正Keystone LDAP参数 Fixing Keystone LDAP config parameters to be undef if empty[ DONE ] # 准备Keystone(身份服务)项目 Preparing Keystone entries [ DONE ] # 准备Glance(镜像服务)项目 Preparing Glance entries [ DONE ] # 检查Cinder(卷存储服务)是否有卷 Checking if the Cinder server has a cinder-volumes vg[ DONE ] # 准备Cinder(卷存储服务)项目 Preparing Cinder entries [ DONE ] # 准备Nova API(Nova接口)项目 Preparing Nova API entries [ DONE ] # 为Nova迁移创建SSH密钥 Creating ssh keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] # 准备Nova(计算服务)项目 Preparing Nova Compute entries [ DONE ] Preparing Nova Scheduler entries [ DONE ] Preparing Nova VNC Proxy entries [ DONE ] Preparing OpenStack Network-related Nova entries [ DONE ] Preparing Nova Common entries [ DONE ] # 准备Neutron(网络)项目 Preparing Neutron API entries [ DONE ] Preparing Neutron L3 entries [ DONE ] Preparing Neutron L2 Agent entries [ DONE ] Preparing Neutron DHCP Agent entries [ DONE ] Preparing Neutron Metering Agent entries [ DONE ] # 检查NetworkManager是否启用并运行 Checking if NetworkManager is enabled and running [ DONE ] # 准备OpenStack客户端项目 Preparing OpenStack Client entries [ DONE ] # 准备Horizon仪表板项目 Preparing Horizon entries [ DONE ] # 准备Swift(对象存储服务)项目 Preparing Swift builder entries [ DONE ] Preparing Swift proxy entries [ DONE ] Preparing Swift storage entries [ DONE ] # 准备Gnocchi(用于计量的时间序列数据库服务器)项目 Preparing Gnocchi entries [ DONE ] # 准备Redis(用于计量的数据结构服务器)项目 Preparing Redis entries [ DONE ] # 准备Ceilometer(计量服务)项目 Preparing Ceilometer entries [ DONE ] # 准备Aodh(警告)项目 Preparing Aodh entries [ DONE ] # 准备Puppet模块和配置清单 Preparing Puppet manifests [ DONE ] Copying Puppet modules and manifests [ DONE ] # 应用控制节点(测试时可能需要较长时间,可以考虑先开一局王者~) Applying 192.168.101.166_controller.pp 192.168.101.166_controller.pp: [ DONE ] # 应用网络节点(测试时可能需要较长时间,可以考虑先开一局王者~) Applying 192.168.101.166_network.pp 192.168.101.166_network.pp: [ DONE ] # 应用计算节点(测试时可能需要较长时间,可以考虑先开一局王者~) Applying 192.168.101.166_compute.pp 192.168.101.166_compute.pp: [ DONE ] # 应用Puppet配置清单 Applying Puppet manifests [ DONE ] Finalizing [ DONE ] # 安装成功,完成应用并给出其他提示信息 **** Installation completed successfully ****** Additional information: # 提示网络已采用OVN Neutron后端 * Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks # 执行命令产生的应答文件 * A new answerfile was created in: /root/packstack-answers-20220415-231639.txt # 未安装时间同步,需要确认CentOS当前的系统时间是否正确,如果不正确,则需要修改 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. # 在用户主目录下产生keystonerc_admin文件,要使用命令行工具需要使用它作为授权凭据 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.101.166. To use the command line tools you need to source the file. # 访问OpenStack Dashboard(Web访问界面),请使用keystonerc_admin中的登录凭据 * To access the OpenStack Dashboard browse to http://192.168.101.166/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. # 安装日志文件名及其路径 * The installation log file is available at: /var/tmp/packstack/20220415-231639-wZEI2M/ openstack-setup.log # Puppet配置清单路径 * The generated manifests are available at: /var/tmp/packstack/20220415-231639- wZEI2M/manifests # 在命令行中执行以下命令,获取OpenStack主要组件Nova的当前安装版本。
(4)查看所安装的OpenStack版本。
[root@hadoop1 ~]# nova-manage --version