openstack入门体验

目录

云计算概述

云计算服务类型

openstack概述

openstack一键部署

[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 之前,需要进行以下准备工作:

  1. 硬件要求

    • 至少 2 个 CPU 核心
    • 至少 8GB 内存(All-in-One 部署)
    • 至少 50GB 可用磁盘空间
  2. 软件要求

    • 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
创建云主机实例
访问与测试云主机
相关推荐
哈里谢顿1 天前
Ironic 中 Clean/deploy Step 延迟执行的原因分析
openstack
哈里谢顿3 天前
ironic中为什么 IPMI Hardware Type 必须支持 IPMIManagement
openstack
哈里谢顿7 天前
Ironic 中各个接口的作用详解
openstack
CZIDC7 天前
博客摘录「 华为云平台-FusionSphere OpenStack 8.2.1 系统加固」2025年7月15日
linux·服务器·笔记·华为云·openstack
行止619 天前
OpenStack云平台管理
linux·openstack
曼汐 .19 天前
私有云平台实战-OpenStack
openstack
哈里谢顿19 天前
python的Mixin设计模式学习,以ironic-python-agent代码为例
openstack
曼汐 .20 天前
私有云平台实战-OpenStack入门体验
openstack
果子⌂20 天前
OpenStack入门体验
openstack
zkyqss1 个月前
OVS Faucet练习(下)
linux·笔记·openstack