跳转到: 导航, 搜索

Documentation/training-labs

关于训练实验室

Openstack 训练实验室是一系列脚本的集合,这些脚本几乎可以一键在您的计算机上安装一个可用的 OpenStack 集群。 它是遵循 OpenStack 安装指南,使用 VirtualBox/KVM 虚拟机 (VM) 创建集群的一种自动化、快速、可靠且可重现的方式,并且应该可以在大多数常见硬件(台式机/笔记本电脑)上开箱即用。

支持的平台

这些脚本支持 GNU/Linux、MacOS 和 Windows 作为宿主机操作系统 (OS)。 它们当前在 Ubuntu 16.04 长期支持 (LTS) 上安装 Newton 或 Ocata 版本的 OpenStack。

任何相当现代的笔记本电脑或台式个人电脑 (PC) 应该能够运行训练实验室。 最可能的瓶颈是主内存 - 在 8 GB 的 PC 上,在启动集群之前关闭主要的内存消耗者,如浏览器。 集群和安装它们所需的 CD-ROM 镜像将消耗少于 10GB 的磁盘空间。

依赖项

VirtualBox 在任何支持的平台上,或 GNU/Linux 上的 KVM/Quick Emulator (QEMU)。

如果您只想部署给定的 OpenStack 版本,最简单的方法是为您的平台下载 tarball 或 zip 文件,并开始使用 OpenStack。 请在此处查看 training-labs 页面:在此处获取训练实验室

或者,您可以使用 git 下载训练实验室开发仓库,例如(仅推荐给高级用户和开发人员)

git clone git://git.openstack.org/openstack/training-labs.git

Openstack Victoria 的更新脚本

Openstack Victoria 在 CentOS 8 上的更新脚本可从以下位置下载

https://github.com/Sangwan70/openstack.git

这些脚本包括 SELinux 设置、防火墙设置以及特定于 CentOS 8 的其他自定义设置。

Windows 用户附加说明

可供下载的 zip 文件包含构建 OpenStack 集群所需的一切(VirtualBox 除外)。 如果您想使用 ssh 与集群节点通信,而不是使用 VirtualBox 控制台窗口,则需要一个 ssh 客户端,例如免费的 Putty

开发仓库不包含 Windows 批处理脚本,您需要一个 POSIX 环境(GNU/Linux、OS X、UNIX、Cygwin、...)来创建它们(如下所示)。

代理

如果您的网络需要设置代理才能访问 Internet,请将 VM_PROXY 设置在 "training-labs/labs/config/localrc" 中,如下所示

VM_PROXY="http://your_proxy_host:port"

构建集群

在所有平台上,集群构建时会将日志文件写入 training-labs/labs/log 目录。

集群构建分为三个阶段

  1. 下载 OS 镜像。 如果镜像已经存在于 training-labs/labs/img 目录中,则跳过此阶段。
  2. 构建基本磁盘,大约 30 到 40 分钟。 如果基本磁盘已经存在,则跳过此阶段。
  3. 基于基本磁盘构建节点 VM,大约 25 到 30 分钟。

使用 KVM 时的额外步骤

默认情况下,集群是在 Virtualbox VM 上构建的。 要使用 KVM/QEMU,请将环境变量 PROVIDER 设置为 kvm

cd training-labs/labs
sed -i.bak 's/${PROVIDER:=virtualbox}/${PROVIDER:=kvm}/' config/localrc

GNU/Linux 和 MacOS

cd training-labs/labs
./st.py -b cluster

该命令构建一个包含 OS 和 OpenStack 集群所需软件的基本磁盘。 在基本磁盘之后,该命令构建两个节点 VM(控制器、计算)。

如果您再次执行相同的命令,现有的节点 VM 将被删除并基于现有的基本磁盘重新创建。 如果您想重建基本磁盘,也可以删除 labs/img 目录中的磁盘文件,或使用此命令

./st.py -b basedisk

Windows

获取 Windows 批处理文件

获取所需的一切(VirtualBox 除外)的最简单和推荐方法是从 训练实验室页面 下载 Windows 平台的 zip 文件。 zip 文件包含预生成的 Windows 批处理文件。 如果您的 Windows 机器上有 zip 文件的内容,您可以直接跳到下一步“在 Windows 下创建集群”。

如果您更喜欢自己生成创建集群的批处理文件,您需要一个包含 bash 的 POSIX 环境 - GNU/Linux 或 UNIX 安装都可以,但 Cygwin 也可以工作。

在 POSIX 环境中

cd training-labs/labs
./st.py -w cluster

Windows 批处理文件将创建在一个名为 wbatch 的新目录中。 将 training-labs/labs 目录复制到 Windows。

在 Windows 下创建集群

请按此顺序运行以下三个脚本。 前两个脚本只需要运行一次

create_hostnet.bat
创建节点 VM 用于通信的主机专用网络。 该脚本要求具有执行此任务所需的提升权限。 您只需要运行此脚本一次, 网络配置将由 VirtualBox 保存。 您可以在 VirtualBox GUI 中验证配置的网络:文件->首选项->网络->主机专用网络
create_base.bat
创建基本磁盘。 您只需要运行此脚本一次(以及每次您想要更新基本磁盘时)。 此脚本将下载构建基本磁盘所需的 OS 镜像到 training-labs\labs\img(如果它不存在),并在下载后要求用户按下任意键才能继续。
create_ubuntu_cluster_node.bat
基于基本磁盘创建节点 VM。

注意:Windows 批处理脚本仍然有一些限制。 例如,如果它们找到具有相同名称的现有节点 VM,它们会打印错误并退出。 不要在另一个脚本仍在运行时启动批处理脚本。

使用集群

VirtualBox

默认情况下,集群以无头模式构建。 在这种情况下,访问集群节点的方式是通过安全 shell (ssh)。 localhost 的 TCP 端口 2230 和 2232 将转发到节点。

要获取集群节点的 shell 提示符

ssh -p 2230 osbash@localhost   # controller (note the network node is incorporated here since OpenStack Liberty)
ssh -p 2232 osbash@localhost   # compute node

密码是 osbash。 要成为 root,请使用 sudo

Putty 客户端允许您在连接之前在 设置->会话 页面上设置端口号。

VirtualBox VM 的控制台窗口可以通过停止 VM 并从 VirtualBox 图形用户界面 (GUI) 重新启动它们来显示。 或者,为了始终在构建期间显示控制台,请将 "-g gui" 选项添加到 st.py 命令。 例如

./st.py -g gui -b cluster    
./st.py -g gui -b basedisk
./st.py -g gui -w cluster    # generate DOS batch files which will always display console windows

Horizon 也通过转发的端口访问。 使用此 URL 访问 GUI

http://127.0.0.1:8888/horizon

配置了两个帐户:admin/admin_user_secretdemo/demo_user_pass。 登录所需的默认域是“default”。 这些和其他密码在 config/credentials 中配置。

KVM/QEMU

与 VirtualBox 类似,默认情况下,集群以无头模式构建。 在这种情况下,访问集群节点的方式是通过安全 shell (ssh)。 但是,与 VirtualBox 不同,没有重定向到特殊端口来访问节点 shell。 因此,需要通过公共网络“virbr0” Internet 协议 (IP) 地址通过 ssh 连接到节点。

IP 地址记录在 log/node_ip.db 中。 例如

52:54:00:ac:37:da 192.168.122.215 controller
52:54:00:06:6a:b7 192.168.122.3 compute1

IP 地址也可以通过获取与“virbr0”关联的节点媒体访问控制 (MAC) 地址并使用它来解析地址解析协议 (ARP) 表以获取 IP 地址来获取。

virsh -c 'qemu:///system' domiflist controller | grep virbr0 | awk '{print $5}'
52:54:00:ee:b0:e4

现在使用 MAC 地址使用 ARP 提取节点的 IP 地址。

arp -e | grep 52:54:00:ee:b0:e4 | awk '{print $1}'
192.168.122.82

为了简化流程,这里有一个提取“controller”和“compute”节点 IP 地址的简单脚本

cat get_ip.sh
#!/bin/bash
CONTROLLER_MAC=`virsh -c qemu:///system domiflist controller | grep virbr0 | awk '{print $5}'`
COMPUTE1_MAC=`virsh -c qemu:///system domiflist compute1 | grep virbr0 | awk '{print $5}'`
CONTROLLER_IP=`arp -e | grep $CONTROLLER_MAC | awk '{print $1}'`
COMPUTE1_IP=`arp -e | grep $COMPUTE1_MAC | awk '{print $1}'`
echo "Controller IP: $CONTROLLER_IP"
echo "Compute1 IP: $COMPUTE1_IP"

这是脚本运行的示例

./get_ip.sh 
Controller IP: 192.168.122.82
Compute1 IP: 192.168.122.139

要获取集群节点的 shell 提示符

ssh osbash@192.168.122.82    # controller, note the network node is incorporated here since OpenStack Liberty)
ssh osbash@192.168.122.139   # compute node

密码是 osbash。 要成为 root,请使用 sudo

KVM/QEMU VM 的控制台窗口可以通过停止 VM 并从虚拟机管理器 (VMM) 重新启动它们来显示。

Horizon 通过 IP 地址 10.0.0.11 在“virbr1”管理网络上访问

http://10.0.0.11/horizon

配置了两个帐户:admin/admin_user_secretdemo/demo_user_pass。 登录所需的默认域是“default”。 这些和其他密码在 config/credentials 中配置。

第三方文档

管理和维护我们的项目

只是核心开发人员的起点。 对于我们分享有关项目的重要但非功能相关工作的知识来说,这更容易。 如果给定任务的原始作者不可用,这将使团队能够运行并且不会错过项目的重要方面,例如发布、反向移植等。

请遵循编写良好且维护良好的 [项目驱动程序指南](https://docs.openstack.org/infra/manual/drivers.html) 以获取更多信息。 上述文档可能涵盖项目的一些区域,这些区域可能需要您成为 **核心团队**。 但大多数任务不应需要相同。

快速链接

会议信息

团队成员

  • Pranav Salunke,IRC:dguitarbite
  • Roger Luethi,IRC:rluethi
  • Julen Larrucea,IRC:julen
  • 姓名,IRC:昵称,角色/兴趣。
  • Ram Niwas Sangwan,SkillPedia