一、实验目的
1. 掌握在本地 Windows 环境中通过虚拟机搭建 Ubuntu 系统。
2. 熟悉 DevStack 工具,部署 OpenStack 私有云平台。
3. 学会使用 OpenStack 创建虚拟机实例、配置网络及访问权限。
4. 掌握 Docker 基础命令,在云平台中运行 Nginx、WordPress 等容器服务。
5. 综合理解 IaaS 与容器服务的协作关系。
二、实验环境
1. Windows 11 主机一台
2. VirtualBox 虚拟机软件
3. Ubuntu 22.04 LTS Desktop镜像
4. DevStack(Git 克隆)
5. Docker、Docker Compose
三、实验过程
1. DevStack 安装与配置过程:
1. 更新系统 + 安装依赖
sudo apt update
sudo apt install -y git python3-pip net-tools
2. 创建 DevStack 用户
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo chmod +x /opt/stack
sudo su - stack
3. 下载 DevStack 并进入目录
git clone https://opendev.org/openstack/devstack
cd devstack
4. 创建 local.conf 配置文件
nano local.conf
[[local|localrc]]
ADMIN_PASSWORD=123456
DATABASE_PASSWORD=123456
RABBIT_PASSWORD=123456
SERVICE_PASSWORD=123456
HOST_IP=192.168.x.x
5. 执行安装
./stack.sh
2. OpenStack Dashboard 使用与虚拟机创建:
浏览器访问 OpenStack Dashboard:
http://10.0.2.15/dashboard
账号:admin,密码:123456
3. Docker 安装及 Nginx/WordPress 部署过程:
1. 安装 Docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
2. 部署 Nginx 容器
docker run -d -p 82:80 nginx
3. 浏览器访问验证:
http://10.0.2.15:82
四、实验结果截图
请插入相关截图,包括:
1. OpenStack 登录界面
2. 虚拟机实例状态
3. docker ps 命令输出
4. Nginx 或 WordPress 页面访问截图
由上图,mysql5.7和wordpress均已拉取镜像,但docker-compose报错说文件校验不一致。此问题未解决。
五、实验总结与反思
1. 实验中遇到的问题及解决办法:
Ubuntu20报错软件不兼容->转用Ubuntu22
只用桥接网卡虚拟机连不上互联网->看virtualbox官方论坛发现在宿主机用的时无线而非有线连接时,虚拟机的桥接网卡可能失败->虚拟机采用NAT模式
./stack.sh执行失败,屡次出现keystone未启动错误->经过数个小时的“大海捞针”,在一篇博客里发现需要添加stack用户对于/opt/stack目的的执行权限。
2. 对 DevStack 和 OpenStack 的理解:
OpenStack:是一个开源的云计算管理平台(IaaS),由一系列相互关联的服务组件组成(如 Nova 计算、Neutron 网络、Glance 镜像等)。它是生产环境的解决方案DevStack:是一个脚本化的部署工具,专门用于快速搭建一个单节点的 OpenStack 开发环境。
3. Docker 部署服务的优点与挑战:
优点:环境配置简单;缺点:连不上外网,国内能用的镜像不多。
4. 本次实验的学习收获:
学习了云计算平台的部署。