1. OpenStack部署介绍
OpenStack是一个开源的云操作系统平台,它由一系列相互关联的服务组成,这些服务共同构建了一个完整的云基础设施,提供了虚拟机、网络、存储、身份认证等功能,使用户能够轻松部署和管理云计算资源。由于开源的OpenStack平台不提供高可用,负载均衡,容灾,告警,监控,日志等服务,且界面粗糙,部署难度较大,一般用户不会采用这种方式部署,因此很多的厂商都会基于它再进行二次开发,增加对自家虚拟化平台的驱动和接口,集群,日志等一系列的功能,且客户在购买后还能得到来自厂家的部署以及维护服务。目前,市面上有很多种OpenStack的部署方式:
- DevStack:适用于开发和测试的快速部署脚本。DevStack会在单个节点上安装所有的OpenStack组件,并通常用于学习和开发目的。
- Packstack:如前面介绍的,Packstack是由Red Hat提供的自动化部署工具,适用于CentOS和RHEL等RPM包管理的Linux发行版。
- TripleO(OpenStack on OpenStack):TripleO允许在虚拟机或裸金属服务器上部署OpenStack。它使用OpenStack自身作为管理平台来部署和配置OpenStack。
- Kolla:Kolla使用Docker容器来部署OpenStack服务,简化了安装和升级过程,并提供了一种轻量级的部署方式。
- Charms:适用于Ubuntu的Juju Charm工具,它可以通过编排方式来自动化部署和管理OpenStack服务。
- Manual Deployment:高级用户可以手动安装和配置OpenStack组件(使用官方的配置手册),这样可以更加灵活地进行定制,但也需要更多的时间和精力。
Packstack是一个用于快速部署OpenStack私有云环境的工具。它是由Red Hat推出的一种简化OpenStack安装过程的自动化工具。Packstack可以帮助用户在几个步骤内将一个完整的OpenStack环境部署到一台物理服务器或虚拟机上,而无需手动进行复杂的配置。目前开源的PackStack安装有两种方式,一种是基于RHEL推出的一个安装包(RHEL7OSP-6.0-2015-02-23.2-x86_64.iso),该安装包包含了所有安装OpenStack所需要的软件包,RedHat对OpenStack的dashboard做了一定的优化调整。另一种是安装packstack工具后,再增加一个来自互联网的OpenStack软件源,通过这个源提供的软件包来完成安装。
2. 运行环境
操作系统版本 | 硬件配置 | IP地址规划 | 主机名 | OpenStack版本 |
---|---|---|---|---|
centos7.9 | 4vCPUS/8G 50G硬盘 | 192.168.100.49/24 | openstack | Stein |
3. 部署过程
- 修改centos系统的主机名
[root@localhost ~]# hostnamectl set-hostname openstack
- 设置centos系统为静态IP地址
#注意修改自己的网卡配置文件
[root@openstack ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@openstack ~]# echo "nameserver 8.8.8.8" >> /etc/resolve
#重启网络服务
[root@openstack ~]# systemctl restart network
#验证IP地址
[root@openstack ~]# ip addr show
- 添加主机hosts记录
[root@openstack ~]# echo "192.168.100.49 openstack" >> /etc/hosts
#验证修改结果
[root@openstack ~]# more /etc/hosts
- 设置本机SSH免密码登录
#生成ssh密钥
[root@openstack ~]# ssh-keygen
#添加密钥信息到~./ssh/know_hosts文件
[root@openstack ~]# ssh-copy-id [email protected]
- 关闭服务
关闭防火墙
[root@openstack ~]# systemctl stop firewalld
[root@openstack ~]# systemctl disable firewalld
#查看防火墙状态
[root@openstack ~]# systemctl status firewalld
关闭SeLinux
[root@openstack ~]# setenforce 0
[root@openstack ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
关闭NetworkManager服务,RHEL7.1在关闭了Netwo