第 6 章 安装 Overcloud
现在,Undercloud 已经被安装,并配置了 Red Hat Enterprise Linux OpenStack Platform director。在本章中,我们使用 director 来创建 Overcloud 环境。我们在这里提供了 3 种不同的安装使用情景来创建 Overcloud,它们覆盖了不同级别的环境。
表 6.1. 使用情景概述
使用情景
|
级别
|
主题
|
---|---|---|
测试 Overcloud
|
低
|
Web UI 的使用、节点注册、手工标记节点、基于计划创建 Overcloud
|
基本 Overcloud
|
中级
|
CLI 工具程序的使用、节点注册、手工标记节点、基本的网络分离和基于计划创建 Overcloud
|
高级 Overcloud
|
高级
|
CLI 工具程序的使用、节点注册、基于硬件的自动节点标记、Ceph Storage 设置、高级的网络分离、Overcloud 的创建、高可用性隔离配置
|
6.1. 使用情景 1:使用 Web UI 创建一个用于测试的 Overcloud
在这个使用情景中,我们创建一个用于测试的 OpenStack Platform 环境。它在 Overcloud 中包括两个节点:一个 Controller 节点和一个 Compute 节点,这两个机器都使用
libvirt
/virsh
进行虚拟化。这个使用情景主要使用 director 的 web UI 来控制对测试 Overcloud 的创建过程。通过这个用户情景,可以向用户展示使用 director 创建一个用于“概念验证(proof-of-concept)” 的基本 Red Hat Enterprise Linux OpenStack Platform 环境。
重要
这个环境只被用作测试的目的,我们不推荐把它作为一个企业级的生产环境使用。
流程
- 在 director 的 web UI 中注册空节点。
- 检查所有节点的硬件。
- 为节点创建默认的 flavor。
- 为实施角色分配 flavor 和镜像。
- 使用 director 的默认计划创建 Overcloud 环境。
配置要求
- 第 3.1 节 “创建一个 director 安装用户” 中创建的 director 节点
- 一个安装了
libvirt
虚拟化工具的 Red Hat Enterprise Linux 7.1 裸机,这个系统作为包括 Overcloud 的虚拟节点的主机。如需了解设置libvirt
虚拟化的信息,请参阅 Virtualization Getting Started Guide(Red Hat Enterprise Linux 7)。 - director 主机和 Overcloud 主机间的网络连接。这个网络作为 provisioning 网络。在这个示例中,使用 192.0.2.0/24 作为 provisioning 网络,director 使用 192.0.2.1 作为它的 IP 地址,Overcloud 主机使用 192.0.2.2 作为它的 IP 地址。
6.1.1. 配置 Overcloud 主机
这个用户情景的第一步是在 Overcloud 主机上创建虚拟机。
过程 6.1. 在 Overcloud 主机上创建虚拟机
- 从 Overcloud 主机上访问 Virtual Machine Manager。
- 使用以下配置创建两个虚拟机:
- 1 个 vCPU
- 6144 MB 内存
- 网络引导(PXE)
- 40 GiB 存储
- 网络选择:主机设备 eth0:macvtap,源模式:Bridge
选择 macvtap 会把虚拟机设置为共享主机的以太网接口,这样,director 就可以直接访问这些节点。 - 关闭所有虚拟机。
- 记录下每个虚拟机的 MAC 地址。在这个示例中,使用以下 MAC 地址:
aa:aa:aa:aa:aa:aa
和bb:bb:bb:bb:bb:bb
现在,Overcloud 主机已包括了两个虚拟机作为测试环境。但是,director 需要通过 SSH 访问
virsh
来控制虚拟机的电源状态。接下来会为 director 创建用来和 Overcloud 主机进行连接所需要的 SSH 密钥对。
过程 6.2. 创建一个 SSH 密钥对
- 以
stack
用户登录到 director,创建一个新的 SSH 密钥:[stack@director ~]$ ssh-keygen -t rsa -b 2048 -C "dmacpher@redhat.com" -f ./virtkey
这个命令会要求输入一个密码。在这里请不要输入密码。这个命令会创建两个文件:私人密钥文件(virtkey
)和公共密钥文件(virtkey.pub
)。 - 把公共密钥中的内容复制到 Overcloud 主机的
root
用户的/root/.ssh/authorized_keys
文件中:[stack@director ~]$ ssh-copy-id -i virtkey root@192.0.2.2
- 安全地保存私人密钥(
virtkey
)以供使用。
现在,Overcloud 主机可以和 director 进行连接。
6.1.2. 访问 director
在一个网络浏览器中使用 IP 地址访问 director 的 web UI。在这个示例中,IP 地址是
http://192.0.2.1
。一个 director 的登录界面会显示。
图 6.1. OpenStack Platform director 登录界面
在 director 主机上使用
stack
用户运行以下命令来获得您的环境的管理密码:
[stack@director ~]$ sudo hiera admin_password 3f2f4295a5eb6ad967b832d35e048852
使用这个密码以
admin
用户身份登录到 director 的 UI。
6.1.3. 注册节点
Overcloud 需要一组节点作为不同的实施角色。这意味着,我们需要在 director 中注册一组节点。在这个示例中,我们在 director 的 UI 中注册这些节点。
过程 6.3. 注册节点
- 以
admin
用户身份登录到 director。 - 进入主菜单中的 Nodes。
- 点 + 按钮。节点注册界面会出现。
图 6.2. 节点注册界面
- 为两个节点输入以下信息:
- 节点 1:
- Driver: PXE + SSH
- SSH Address: Overcloud 主机
- SSH User: root
- SSH Key Contents: 粘贴
virtkey
中的内容 - NIC MAC Addresses: aa:aa:aa:aa:aa:aa
- Architecture: x86_64
- CPUs: 1
- Memory: 6144 MB
- Local Disk: 40 GB
- Kernel: bm-deploy-kernel
- Ramdisk: bm-deploy-ramdisk
- 节点 2:
- Driver: PXE + SSH
- SSH Address: Overcloud 主机
- SSH User: root
- SSH Key Contents: 粘贴
virtkey
中的内容 - NIC MAC Addresses: bb:bb:bb:bb:bb:bb
- Architecture: x86_64
- CPUs: 1
- Memory: 6144 MB
- Local Disk: 40 GB
- Kernel: bm-deploy-kernel
- Ramdisk: bm-deploy-ramdisk
- 点 Register Nodes。
在注册完节点后,在终端中运行以下命令来发现每个节点的硬件属性:
$ openstack baremetal introspection bulk start
现在,节点已被 director 发现并注册。
6.1.4. 产生硬件档案
director 也需要为注册的节点产生一个硬件档案(或称为 flavor)。对于没有分配的节点,director 默认使用
baremetal
flavor。使用 UI 产生一个名为 baremetal
的 flavor:
过程 6.4. 产生硬件档案
- 进入主菜单中的 Flavors。
- 点 + 按钮。创建 flavor 节点界面会出现。
图 6.3. 创建 flavor 界面
- 为两个节点输入以下信息:
- Name:
baremetal
- CPUs: 1
- RAM (MB): 6144
- Disk GB: 40 GB
- Architecture: x86_64
- 点 Create Flavor。
- 在终端中运行下列命令来为 flavor 设置以下能力:
$ openstack flavor set --property "capabilities:boot_option"="local" baremetal
这为节点创建了一个 flaovr。
6.1.5. 为实施的角色分配镜像
director UI 中的每个实施角色都需要两个设置:一个作为节点池的 flavor 和一个作为在 Overcloud 的相关节点中实施的镜像。director 会自动为每个节点分配
baremetal
flavor,但实施角色仍然需要需要分配一个镜像。
过程 6.5. 为实施的角色分配镜像
- 进入主菜单中的 Deployment Roles。
- 为 Compute 实施角色点 Edit 按钮。编辑实施角色的界面会显示。
图 6.4. 编辑实施角色
- 确认 Flavor 被设置为
baremetal
,Image 被设置为overcloud-full
。点 Save。 - 为其它实施角色重复这个操作。
现在,实施角色都具有了相关的 flavor 和镜像。
6.1.6. 创建测试 Overcloud
创建 OpenStack 环境的最后一步是实施 director 中的计划。默认的计划是安装一个 Controller 节点和一个 Compute 节点。
过程 6.6. 创建 Overcloud
- 进入主菜单中的 Overview。
- 在左面检查实施计划中的节点数量。默认的计划会从
baremetal
flavor 中分配一个 Controller 节点和一个 Compute 节点。图 6.5. Overcloud 计划
- 在准备好开始创建过程时,点 Verify and Deploy 按钮。
图 6.6. 验证和实施
Overcloud 创建过程开始,director 使用实施角色定义节点类型来进行部署。
6.1.7. 访问测试 Overcloud
当 Overcloud 创建完成后,UI 可能会要求您对 Overcloud 环境进行初始化。点 Initialize 按钮。
当 Overcloud 上线后,director 会向您提供访问 Overcloud 的详细信息。这包括 Horizon URL、User Name 和 Password。
6.1.8. 完成对测试 Overcloud 环境的创建和配置
这包括创建测试 Overcloud 环境。使用这个环境用于“概念验证”,或以此对生产环境(第 6.2 节 “使用情景 2:使用 CLI 创建一个基本的 Overcloud” 或 第 6.3 节 “使用情景 3:使用 CLI 创建一个带有 Ceph 节点的高级 Overcloud”)进行规划。