目录
[OpenStack 一键部署实践](#OpenStack 一键部署实践)
[在线一键部署 OpenStack](#在线一键部署 OpenStack)
[配置 OpenStack YUM 源](#配置 OpenStack YUM 源)
[离线一键部署 OpenStack](#离线一键部署 OpenStack)
[通过 Dashboard 体验 OpenStack 功能](#通过 Dashboard 体验 OpenStack 功能)
[登录 Dashboard](#登录 Dashboard)
[Dashboard 功能模块解析](#Dashboard 功能模块解析)
["项目" 模块](#"项目" 模块)
["管理员" 模块](#"管理员" 模块)
["身份管理" 模块](#"身份管理" 模块)
[创建私有网络 private](#创建私有网络 private)
[创建路由 my_route](#创建路由 my_route)
云计算概述
云计算作为信息技术领域的革命性创新,已经深刻改变了企业和个人使用计算资源的方式。它通过互联网提供动态可扩展的虚拟化资源,用户无需在本地部署和维护硬件设施,即可获得强大的计算能力、存储空间和软件服务
云计算服务类型
云计算服务通常分为三种主要类型,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这三种服务类型形成了云计算的层次结构,用户可以根据自身需求选择合适的服务模式
基础设施即服务(IaaS)
基础设施即服务是云计算的最底层服务模式,它向用户提供基础的计算资源、存储资源和网络资源。用户可以在这些资源上部署和运行任意软件,包括操作系统和应用程序。
典型服务包括:
- 虚拟服务器(VM)
- 块存储和对象存储
- 网络设备(防火墙、负载均衡器等)
- 弹性 IP 地址
优点:
- 高度灵活,用户可以完全控制基础设施
- 按需付费,降低初期投资
- 快速部署,缩短业务上线时间
平台即服务(PaaS)
平台即服务提供了一个完整的开发和部署平台,包括操作系统、编程语言运行环境、数据库和 Web 服务器等。用户可以在这个平台上开发、测试和部署应用程序,而无需关注底层基础设施的管理。
典型服务包括:
- 应用程序开发框架
- 数据库管理系统
- Web 服务器
- 中间件
优点:
- 简化开发流程,提高开发效率
- 减少基础设施管理工作
- 支持快速迭代和部署
软件即服务(SaaS)
软件即服务是最上层的云计算服务模式,它向用户提供完整的应用软件,通常通过 Web 浏览器访问。用户无需在本地安装和维护软件,只需按使用量付费
典型服务包括:
- 办公软件(如 Google Docs、Microsoft Office 365)
- CRM 系统(如 Salesforce)
- 电子邮件服务(如 Gmail、Outlook.com)
- 财务管理软件
优点:
- 无需安装和维护,降低使用门槛
- 跨平台访问,支持移动办公
- 自动更新,保持软件最新版本
openstack概述
OpenStack 是一个开源的云计算管理平台项目,由一系列开源软件组成,旨在为公有云和私有云提供可扩展的基础设施即服务(IaaS)解决方案。它由 NASA 和 Rackspace 合作开发,并于 2010 年首次发布
openstack一键部署
OpenStack 的部署过程相对复杂,涉及多个组件的安装、配置和集成。为了简化部署过程,社区和厂商提供了多种一键部署工具和方法
OpenStack 一键部署实践
Packstack 是 Red Hat 开发的官方部署工具,它通过 Puppet 模块自动化部署 OpenStack 各个组件,支持 All-in-One 和多节点部署模式。下面详细介绍使用 Packstack 进行 OpenStack 一键部署的过程
实验环境准备
在使用 Packstack 部署 OpenStack 之前,需要进行以下准备工作:
-
硬件要求:
- 至少 2 个 CPU 核心
- 至少 8GB 内存(All-in-One 部署)
- 至少 50GB 可用磁盘空间
-
软件要求:
- CentOS 7/8 或 RHEL 7/8
- 网络连接正常,能够访问互联网
- 关闭防火墙和 SELinux
环境初始化配置
# 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
# 关闭SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 设置主机名
hostnamectl set-hostname openstack-controller
echo "127.0.0.1 openstack-controller" >> /etc/hosts
# 安装必要的软件包
yum install -y epel-release
yum install -y openstack-packstack
在线一键部署 OpenStack
关闭防火墙 systemctl disable firewalld systemctl stop firewalld # 关闭SELinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 设置主机名 hostnamectl set-hostname openstack-controller echo "127.0.0.1 openstack-controller" >> /etc/hosts # 安装必要的软件包 yum install -y epel-release yum install -y openstack-packstack
配置 OpenStack YUM 源
# 创建离线包存储目录
mkdir -p /opt/openstack-repo/{base,updates,openstack}
# 安装 yum-utils 工具
yum install -y yum-utils
# 下载 OpenStack Rocky 版本包(根据实际版本调整)
yumdownloader --destdir=/opt/openstack-repo/openstack \
openstack-packstack python-openstackclient openstack-selinux \
openstack-identity openstack-nova openstack-glance openstack-neutron \
openstack-cinder openstack-horizon openstack-swift
# 下载依赖包
yumdownloader --destdir=/opt/openstack-repo/base \
$(yum deplist openstack-packstack | grep "Provides" | awk '{print $2}')
# 安装 createrepo 工具
yum install -y createrepo
# 生成仓库元数据
createrepo /opt/openstack-repo/base
createrepo /opt/openstack-repo/openstack
# 配置 YUM 源文件
vi /etc/yum.repos.d/openstack.repo
[openstack-base]
name=OpenStack Base Repo
baseurl=file:///opt/openstack-repo/base
enabled=1
gpgcheck=0
[openstack-packages]
name=OpenStack Packages
baseurl=file:///opt/openstack-repo/openstack
enabled=1
gpgcheck=0
yum clean all yum makecache
离线一键部署 OpenStack
# 编辑应答文件,设置统一密码
packstack --gen-answer-file=~/packstack-answers.txt
vi ~/packstack-answers.txt
# 添加/修改以下参数
CONFIG_MARIADB_PASSWORD=StrongPassword123
CONFIG_NOVA_DB_PW=StrongPassword123
CONFIG_KEYSTONE_DB_PW=StrongPassword123
CONFIG_NEUTRON_DB_PW=StrongPassword123
CONFIG_CINDER_DB_PW=StrongPassword123
# 执行离线安装
packstack --answer-file=~/packstack-answers.txt
# 重置 MySQL 密码
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql -u root
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123';
ALTER USER 'nova'@'%' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123';
FLUSH PRIVILEGES;
EXIT;
systemctl restart mariadb
通过 Dashboard 体验 OpenStack 功能
登录 Dashboard

Dashboard 功能模块解析

"项目" 模块

"管理员" 模块



"身份管理" 模块

创建与管理云主机实战
准备工作:上传有效镜像

创建私有网络与路由





创建路由 my_route







创建云主机实例









访问与测试云主机




