评估 OpenStack:单节点部署

已更新 -

Packstack 应只用于对 OpenStack 的概念验证/演示目的,它的安装过程和部署的结果都不被支持。

如需了解更多与产品支持相关的信息,请参阅 Installing and Managing Red Hat OpenStack Platform

本文档介绍了使用 Packstack 部署工具实现一个基本 Red Hat Enterprise Linux OpenStack Platform 云系统的步骤。为了简化网络结构及对其它系统的影响,所有 OpenStack 组件都被部署在一个单一节点(机器)上。

这里所介绍的 OpenStack 部署包括一个公共网络和一个私人网络,它们都位于同一个机器上。这个主机运行一个 CirrOS 映像实例,并带有一个附加的存储卷。所安装的 OpenStack 服务包括:Block Storage、Compute、Dashboard、Identity、Image、OpenStack Networking、Object Storage 和 Telemetry。

备注: Packstack 是一个用来快速部署 OpenStack 的命令行工具;Packstack 适用于部署一个用于“概念验证”的测试环境,它并不适用于部署生产环境。在默认情况下,公共网络只能通过 OpenStack 主机路由。

如需测试一个使用更复杂网络配置的 OpenStack,请参阅 Evaluating OpenStack: Simple Networking

Deployment overview
单节点部署

以下操作需要大约 1.5 小时完成(包括 Packstack 安装 OpenStack 软件的时间)。

⁠1. 安装

⁠1.1. 先决条件

对于一个单节点部署,您需要:

  • 一个作为主机的机器

    • 一个运行 Red Hat Enterprise Linux 7.0(部署 v5) 或 7.1(部署 v6) 的物理主机
      您将在这台机器上安装并运行所有 OpenStack 云组件。这个机器的硬件配置必须满足以下条件。

    • 处理器
      支持 Intel 64 或 AMD64 CPU 扩展的 64 位 x86 处理器,并启用了 AMD-V 或 Intel VT 硬件虚拟化扩展功能。

    • 内存
      最少 2GB 内存。

    • 磁盘空间
      推荐最少 20GB 的磁盘空间。

      如果您在部署后还需要添加额外的实例或卷,则需要使用更多的内存或磁盘(请参阅 v5v6 Single-Node Deployment Requirements)。

  • 网络访问
    主机可以通过网络进行 Red Hat Subscription Management 注册。

  • SSH 配置
    确认在主机的 /etc/ssh/sshd_config 文件中启用了 PasswordAuthentication,否则 Packstack 的安装会失败。

⁠1.2. 安装 OpenStack

安装过程包括以下步骤:

  1. 确认您通过 Red Hat Subscription Management 启用了正确的软件存储库。

  2. 确认 Network Manager 被关闭。

  3. 运行 Packstack 部署工具。

1.2.1. 启用 OpenStack 存储库

  1. 如果还没有注册 Red Hat Subscription Management,请进行注册(需要您的订阅用户名和密码):

    subscription-manager register    
    
  2. 在以下命令的输出中找出 Red Hat Enterprise Linux OpenStack Platform 的订阅池:

    subscription-manager list --available --all    
    
  3. 使用在上一步中找到的池 ID 来附加 Red Hat Enterprise Linux OpenStack Platform 权利:

    subscription-manager attach --pool=POOL_ID    
    
  4. 禁用所有软件仓库:

     subscription-manager repos --disable=*  
    
  5. 启用所有 RHEL 和 OpenStack 软件仓库:

    • 对于 Red Hat Enterprise Linux OpenStack Platform 5,运行:

       subscription-manager repos --enable=rhel-7-server-rpms           
       subscription-manager repos --enable=rhel-7-server-openstack-5.0-rpms  
       subscription-manager repos --enable=rhel-7-server-extras-rpms   
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 6,运行:

        subscription-manager repos --enable=rhel-7-server-rpms
        subscription-manager repos --enable=rhel-7-server-rh-common-rpms   
        subscription-manager repos --enable=rhel-7-server-openstack-6.0-rpms
        subscription-manager repos --enable=rhel-7-server-extras-rpms
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 7,运行:

        subscription-manager repos --enable=rhel-7-server-rpms
        subscription-manager repos --enable=rhel-7-server-rh-common-rpms 
        subscription-manager repos --enable=rhel-7-server-openstack-7.0-rpms
        subscription-manager repos --enable=rhel-7-server-extras-rpms
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 8,运行:

        subscription-manager repos --enable=rhel-7-server-rpms
        subscription-manager repos --enable=rhel-7-server-rh-common-rpms 
        subscription-manager repos --enable=rhel-7-server-openstack-8-rpms
        subscription-manager repos --enable=rhel-7-server-extras-rpms
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 9,运行:

         subscription-manager repos --enable=rhel-7-server-rpms
         subscription-manager repos --enable=rhel-7-server-rh-common-rpms
         subscription-manager repos --enable=rhel-7-server-openstack-9-rpms
         subscription-manager repos --enable=rhel-7-server-extras-rpms
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 10,运行:

          subscription-manager repos --enable=rhel-7-server-rpms
          subscription-manager repos --enable=rhel-7-server-rh-common-rpms
          subscription-manager repos --enable=rhel-7-server-extras-rpms
          subscription-manager repos --enable=rhel-7-server-openstack-10-rpms
          subscription-manager repos --enable=rhel-7-server-openstack-10-devtools-rpms
      
    • 对于 Red Hat Enterprise Linux OpenStack Platform 11,运行:

          subscription-manager repos --enable=rhel-7-server-rpms
      

      subscription-manager repos --enable=rhel-7-server-rh-common-rpms
      subscription-manager repos --enable=rhel-7-server-extras-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-11-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-11-devtools-rpms

    • 对于 Red Hat Enterprise Linux OpenStack Platform 12,运行:

          subscription-manager repos --enable=rhel-7-server-rpms
      

      subscription-manager repos --enable=rhel-7-server-rh-common-rpms
      subscription-manager repos --enable=rhel-7-server-extras-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-12-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-12-devtools-rpms

    • 对于 Red Hat Enterprise Linux OpenStack Platform 13,运行:

          subscription-manager repos --enable=rhel-7-server-rpms
      

      subscription-manager repos --enable=rhel-7-server-rh-common-rpms
      subscription-manager repos --enable=rhel-7-server-extras-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-13-rpms
      subscription-manager repos --enable=rhel-7-server-openstack-13-devtools-rpms

  6. 安装 utility 软件包:

    yum install -y yum-utils  
    
  7. 更新所有软件包:

    yum update -y  
    

1.2.2. 禁用 Network Manager

  1. 当前,OpenStack networking 无法在启用了 Network Manager(NetworkManager)服务的系统上正常工作。运行以下命令禁用 Network Manager:

    systemctl disable NetworkManager  
    
  2. 重启系统:

    #  reboot  
    

1.2.3. 安装并运行 Packstack 来部署 OpenStack

  1. 安装 Packstack 软件包:

    yum install -y openstack-packstack  
    
  2. 运行 Packstack(需要机器的 root 密码):

    #  packstack --allinone  
    
  3. 单节点安装会创建 'admin' 和 'demo' 用户。运行以下命令可以查看它们的密码:

    grep OS_PASSWORD /root/keystonerc_admin    
    grep OS_PASSWORD /root/keystonerc_demo  
    

备注: 如果 packstack 命令运行失败,或您在运行中遇到问题,请联系红帽技术支持。请提供您所遇到问题的详细描述信息、sosreport、控制终端的完整输出信息,以及在控制终端输出中提到的所有与 packstack 相关的文件和应答文件。

⁠2. 启动

⁠2.1. 启动一个实例(虚拟机)

  1. 在您的网络浏览器中使用以下地址访问 OpenStack Dashboard:http://HOST_NAME_OR_URL/dashboard/

    Log in to dashboard
    Login Screen

    使用 'Demo' 用户进行登录(请参阅前面的信息来获得这个用户的密码)。

  2. 启动实例:

    1. Compute > Instances 菜单项。

    2. Launch Instance 按钮。Launch Instance 的对话框将被
      显示。

      Launch instance
      Launch Instance: Details Tab

    3. Details 标签页中使用默认设置并:

      • Instance Name 中输入您的实例的名称。

      • 为您的实例选择 'm1.tiny' Flavor

      • Instance Boot Source 下拉菜单中选择 'Boot from image' 选项;一个新的 Image Name 项会被显示。

      • 从下拉菜单中选择 'cirros (12.5 MB)' 映像(这个映像在进行单节点安装时被提供)。

    4. Launch 按钮。

  3. 创建一个存储卷并把它附加到新实例:

    1. Compute > Volumes 菜单项,再点 Create Volume 按钮。Create Volume 对话框会被显示。
      Create Volume Dialog
      Create Volume Dialog

    2. 使用默认设置并指定以下值:

      • Volume Name 中输入新卷的名称。

      • 输入新卷的大小(如 '5'),它的单位是 GB。因为新卷需要从 cinder-volumes 卷组中分配,所以请确保这个卷组中有足够的可用空间来分配给您的新卷。

    3. Create Volume 按钮创建新卷。

    4. 点新创建卷的 More 按钮,选择 Edit Attachments。

    5. Attach To Instance 项中选择您的新实例,点 Attach Volume

⁠2.2. 登录到您的新实例

您可以使用实例控制台登录到您的新实例:

  1. 在 Dashboard 中点 Compute > Instances

  2. 点实例的 More 按钮并选择 ConsoleInstance Console 会被显示。

    Log in to instance
    Log In Screen

  3. 使用 CirrOS 映像的用户名和密码进行登录。这个密码可以在控制台的输出中找到(如 'cirros'/'cubswin:)')。