Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 Juju Charms 将 Contrail 与 OpenStack 相结合

可以使用 Juju Charms 部署 Contrail。Juju 可帮助您在私有云和公有云上部署、配置和高效管理应用程序。Juju 在 Juju 控制器的帮助下访问云。魅力是一个包含脚本和元数据集合的模块,用于与 Juju 一起部署 Contrail。

Contrail 支持以下超级按钮:

  • Contrail-agent

  • Contrail-Analytics

  • Contrail-Analyticsdb

  • Contrail 控制器

  • Contrail-Keystone-auth

  • Contrail-OpenStack

这些主题介绍如何使用 Juju 超级按钮部署 Contrail。

准备使用 Juju 超级按钮部署 Contrail

按照以下步骤准备部署:

  1. 安装 Juju。
  2. 配置 Juju。

    您可以向 Juju 添加云,识别 Juju 支持的云,还可以管理已添加到 Juju 的云。

    • Adding a cloud—Juju 可识别多种云类型。您可以通过以下任意一种方式将云添加到 Juju:

      • Adding a Cloud by Using Interactive Command

        示例:将 MAAS 云添加到 Juju

        注意:

        Juju 2.x 与 MAAS 系列 1.x 和 2.x 兼容。

      • Adding a Cloud Manually

        您可以使用 YAML 配置文件手动添加云。输入以下命令:

        例如,要添加云 junmaas,假定目录中配置文件的名称为 maas-clouds.yaml,请运行以下命令:

        以下是 YAML 配置文件的格式:

        注意:

        auth-types MAAS 云类型oauth1为 。

    • Identifying a supported cloud

      Juju 识别下面给出的云类型。您可以使用命令 juju clouds 列出 Juju 支持的云类型。

  3. 创建 Juju 控制器。
    注意:

    Juju 控制器管理和跟踪 Juju 云环境中的应用程序。

部署 Contrail 超级按钮

您可以捆绑部署 Contrail 超级按钮,也可以手动部署。

捆绑包中部署 Contrail 超级按钮

按照以下步骤在捆绑包中部署 Contrail 超级按钮。

  1. 部署 Contrail 超级按钮。

    要在捆绑包中部署 Contrail 超级按钮,请使用 juju deploy <bundle_yaml_file> 命令。

    以下示例说明如何使用 bundle_yaml_file 在 Amazon Web Services (AWS) Cloud 上部署 Contrail。

    您可以创建或修改 Contrail 超级按钮部署捆绑包 YAML 文件,以便:

    • 指向必须部署 Contrail 超级按钮的计算机或实例。

    • 包括您需要的选项。

      每个 Contrail 超级按钮都有一组特定的选项。选择的选项取决于所选的超级按钮。有关可用选项的详细信息,请参阅 Juju 超级按钮的选项

  2. (可选)检查部署状态。

    可以使用命令 juju status 检查部署的状态。

  3. 启用配置语句。

    根据您的部署要求,您可以启用以下配置语句:

使用 OpenStack 手动部署 Juju Charms

在开始部署之前,请确保您已:

  • 安装和配置 Juju

  • 创建了 Juju 控制器

  • 已安装 Ubuntu 16.04 或 Ubuntu 18.04

请按照以下步骤手动部署 Juju 超级按钮:

  1. 为 OpenStack、compute 和 Contrail 创建计算机实例。
  2. 部署 OpenStack 服务。

    您可以使用以下任一方法部署 OpenStack 服务:

    • By specifying the OpenStack parameters in a YAML file

      以下是 YAML 格式的 (nova-compute-config.yaml) 文件的示例。

      使用此命令通过 YAML 格式的文件部署 OpenStack 服务:

    • By using CLI

      要通过 CLI 部署 OpenStack 服务,请执行以下操作:

    • By using a combination of YAML-formatted file and CLI

      要使用 YAML 格式的文件和 CLI 的组合来部署 OpenStack 服务,请执行以下操作:

      注意:

      使用该 --to <machine number> 命令指向要在其中部署应用程序的计算机或容器。

      注意:

      您可以在不同的机器或不同的容器上设置 OpenStack 服务,以防止应用程序中发生 HAProxy 冲突。

  3. 部署和配置nova-compute。
    注意:

    您可以将nova-compute部署到多台计算机。

    (可选)若要添加其他计算,请执行以下操作:

  4. 部署和配置 Contrail 服务。
  5. 使应用程序可用于外部流量:
  6. 如果您不使用 HAProxy,请启用 contrail 控制器和 contrail 分析服务,使其可用于外部流量。
  7. 应用 SSL。

    如果需要,您可以应用 SSL。要将 SSL 与 Contrail 服务配合使用,请部署 easy-rsa 服务和 add-relation 命令,以创建与 contrail 控制器服务和 contrail-agent 服务的关系。

  8. (可选)HA 配置。

    如果您使用多个控制器,请遵循下面给出的 HA 解决方案:

    1. 部署 HAProxy 和 Keepalive 服务。

      HAProxy 魅力部署在具有 Contrail 控制器的计算机上。HAProxy 魅力必须设置为 peering_mode active-active。如果设置为 active-passive,HAProxy peering_mode 将在与其他 Contrail 服务相同的端口上创建其他侦听器。这会导致端口冲突。

      保持活力的魅力不需要 to 选项。

    2. 使 HAProxy 可用于外部流量。
      注意:

      如果启用 HAProxy 可用于外部流量,请不要执行步骤 6

    3. 添加 HAProxy 和 Keepalive 关系。
    4. 使用 VIP 配置 contrail 控制器服务。
  9. 添加其他必要的关系。

Juju 吊饰的选项

每个 Contrail 超级按钮都有一组特定的选项。选择的选项取决于所选的超级按钮。下表列出了您可以选择的各种选项:

  • 超级按钮的选项 contrail-agent

    表 1:凝结尾迹代理的选项

    选项

    默认选项

    描述

    physical-interface

    指定要安装 vhost0 的接口。如果未指定接口,则 vhost0 将安装在默认网关接口上。

    vhost-gateway

    auto

    为 vhost0 指定网关。您可以输入 IP 地址或关键字 (auto),以根据现有的虚拟路由自动设置网关。

    remove-juju-bridge

    true

    要直接在接口上安装 vhost0,请启用此选项以移除为部署 LXD/LXC 和 KVM 工作负载而创建的任何网桥。

    dpdk

    false

    指定 DPDK 虚拟路由器。

    dpdk-driver

    uio_pci_generic

    为物理接口指定 DPDK 驱动程序。

    dpdk-hugepages

    70%

    指定为 DPDK vRouter 和 OpenStack 实例保留的大页面的百分比。

    dpdk-coremask

    1

    指定虚拟路由器 CPU 关联掩码以确定 DPDK 虚拟路由器将在哪个 CPU 上运行。

    dpdk-main-mempool-size

    指定主数据包池大小。

    dpdk-pmd-txd-size

    指定 DPDK PMD Tx 描述符大小。

    dpdk-pmd-rxd-size

    指定 DPDK PMD Rx 描述符大小。

    docker-registry

    opencontrailnightly

    指定码头工人注册表的 URL。

    docker-registry-insecure

    false

    指定是否应配置 docker 注册表。

    docker-user

    登录到码头工人注册表。

    docker-password

    指定 docker 注册表密码。

    image-tag

    latest

    指定 docker 映像标记。

    log-level

    SYS_NOTICE

    指定 Contrail 服务的日志级别。

    选项: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    指定 URL。

    https_proxy

    指定 URL。

    kernel-hugepages-1g

    默认情况下未启用参数。

    注意:

    默认情况下,内核模式 vRouter 的 2MB 大页面处于启用状态。

    指定用于内核模式下的 vRouter 的 1G 大页面数。

    您可以启用大页面以避免在软件升级期间重新启动计算节点。

    必须在初始部署时指定此参数。无法在活动部署中修改它。如果需要在活动部署中迁移到大型页面使用,请使用 2MB 的大页面(如果适合您的环境)。

    我们建议为大页面分配 2GB 内存(使用默认的 1024x2MB 大页面大小设置或 2x1GB 大小设置)。其他巨大的页面大小设置只能由专家用户在特定情况下设置。

    在使用 Juju 的环境中无法同时启用 1GB 和 2MB 大页面。如果使用此命令参数启用 1GB 大页面,则还必须禁用 2MB 大页面。可以通过输入 juju config contrail-agent kernel-hugepages-2m=““ 带有空值的命令来禁用 2MB 的大页面。

    需要重新启动计算节点才能启用巨大的页面设置配置更改。在此初始重新启动后,计算节点无需重新启动即可完成软件升级。

    如果未设置 和 选项 kernel-hugepages-1gkernel-hugepages-2m 则会为内核模式 vRouter 禁用大页面。

    此参数在 Contrail 网络版本 2005 中引入。

    kernel-hugepages-2m

    1024

    指定用于内核模式下的 vRouter 的 2MB 大页面数。Contrail 网络中的大页面主要用于在 vRouter 中分配流和桥接表内存。内核模式虚拟路由器的大页面提供了足够的流量和桥接表内存,以避免计算节点重新启动以完成未来的 Contrail 网络软件升级。

    从 Contrail 网络版本 2005 开始,默认情况下配置 1024x2MB 大页面。但是,需要重新启动计算节点才能启用内核模式 vRouter 大页面设置配置更改,因此在重新启动计算节点之前,不会在计算节点上启用此大页面设置。

    重启计算节点开启 vRouter 大页面设置后,计算节点无需重启即可完成软件升级。

    我们建议为内核模式 vRouter 大页面分配 2GB 内存(使用默认的 1024x2MB 大页面大小设置或 2x1GB 大小设置)。其他巨大的页面大小设置只能由专家用户在特定情况下设置。

    在使用 Juju 的环境中无法同时启用 1GB 和 2MB 大页面。如果使用此命令参数启用 2MB 大页面,则还必须禁用 1GB 大页面。默认情况下禁用 1GB 大页面,也可以通过使用空值输入命令来 juju config contrail-agent kernel-hugepages-1g=““ 禁用。1GB 大页面只能在初始部署时启用;最初不能在活动部署中启用 1GB 大页面。

    如果未设置 和 选项 kernel-hugepages-1gkernel-hugepages-2m 则会为内核模式 vRouter 禁用大页面。

    no_proxy

    指定必须直接访问的目标列表。

  • 超级按钮的选项 contrail-analytics

    表 2:Contrail 分析选项

    选项

    默认选项

    描述

    control-network

    指定控制网络的 IP 地址和网络掩码。

    docker-registry

     

    指定码头工人注册表的 URL。

    docker-registry-insecure

    false

    指定是否应配置 docker 注册表。

    docker-user

    登录到码头工人注册表。

    docker-password

    指定 docker 注册表密码。

    image-tag

     

    指定 docker 映像标记。

    log-level

    SYS_NOTICE

    指定 Contrail 服务的日志级别。

    选项: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    指定 URL。

    https_proxy

    指定 URL。

    no_proxy

    指定必须直接访问的目标列表。

  • 超级按钮的选项 contrail-analyticsdb

    表 3:contrail-analyticsdb 的选项

    选项

    默认选项

    描述

    control-network

    指定控制网络的 IP 地址和网络掩码。

    cassandra-minimum-diskgb

    256

    指定最低磁盘要求。

    cassandra-jvm-extra-opts

    指定内存限制。

    docker-registry

     

    指定码头工人注册表的 URL。

    docker-registry-insecure

    false

    指定是否应配置 docker 注册表。

    docker-user

    登录到码头工人注册表。

    docker-password

    指定 docker 注册表密码。

    image-tag

     

    指定 docker 映像标记。

    log-level

    SYS_NOTICE

    指定 Contrail 服务的日志级别。

    选项: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    指定 URL。

    https_proxy

    指定 URL。

    no_proxy

    指定必须直接访问的目标列表。

  • 超级按钮的选项 contrail-controller

    表 4:Contrail 控制器的选项

    选项

    默认选项

    描述

    control-network

    指定控制网络的 IP 地址和网络掩码。

    auth-mode

    rbac

    指定身份验证模式。

    选项: rbsccloud-adminno-auth.

    有关详细信息,请参阅 https://github.com/Juniper/contrail-controller/wiki/RBAC

    cassandra-minimum-diskgb

    20

    指定最低磁盘要求。

    cassandra-jvm-extra-opts

    指定内存限制。

    cloud-admin-role

    admin

    在梯形文件中为具有管理员级别访问权限的用户指定角色名称。

    在使用 Canonical 业务流程和 Contrail 网络的环境中,在大多数情况下,应将 cloud-admin-role 更改为 Admin 大写字母 A。Contrail 网络中的默认云管理员角色为 ,Canonical 中的默认云管理员角色为 admin Admin。这些云管理员角色名称必须匹配才能授予用户管理员级别的访问权限。您可以通过使用默认设置将此字段设置为在环境中来 Admin 确保此匹配。

    global-read-only-role

    在梯形文件中为具有只读访问权限的用户指定角色名称。

    vip

    指定是否使用 Contrail API VIP 来配置客户端软件。如果未指定,将使用第一个 Contrail API VIP 单元的私有 IP。

    use-external-rabbitmq

    false

    要使超级按钮能够使用内部 RabbitMQ 服务器,请设置为 use-external-rabbitmq false

    要使用外部 AMQP 服务器,请设置为use-external-rabbitmq true

    注意:

    部署后不要更改标志。

    flow-export-rate

    0

    指定在创建或删除流时,vRouter 代理将多少条流记录导出到 Contrail 收集器。

    docker-registry

     

    指定码头工人注册表的 URL。

    docker-registry-insecure

    false

    指定是否应配置 docker 注册表。

    docker-user

    登录到码头工人注册表。

    docker-password

    指定 docker 注册表密码。

    image-tag

     

    指定 docker 映像标记。

    log-level

    SYS_NOTICE

    指定 Contrail 服务的日志级别。

    选项: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    指定 URL。

    https_proxy

    指定 URL。

    no_proxy

    指定必须直接访问的目标列表。

  • 超级按钮的选项 contrail-keystone-auth

    表 5:凝结尾-梯形-身份验证的选项

    选项

    默认选项

    描述

    ssl_ca

    指定是否向 Contrail Keystone 客户端提供 base64 编码的 SSL CA 证书。

    注意:

    如果使用专用签名的 ssl_cert 和 ssl_key,则需要此证书。

  • 超级按钮的选项 contrail-openstack

    表 6:Contrail 控制器的选项

    选项

    默认选项

    描述

    enable-metadata-server

    true

    设置为enable-metadata-servertrue 以配置元数据并使 nova 能够为虚拟机运行 的nova-api-metadata本地实例

    use-internal-endpoints

    false

    use-internal-endpoints设置为 OpenStack true 以将服务配置为使用内部端点。

    heat-plugin-dirs

    /usr/lib64/heat,/usr /lib/heat/usr/lib/ python2.7/dist-packages/ vnc_api/gen/heat/ resources

    指定热插件目录。

    docker-registry

     

    指定码头工人注册表的 URL。

    docker-registry-insecure

    false

    指定是否应配置 docker 注册表。

    docker-user

    登录到码头工人注册表。

    docker-password

    指定 docker 注册表密码。

    image-tag

     

    指定 docker 映像标记。

    log-level

    SYS_NOTICE

    指定 Contrail 服务的日志级别。

    选项: SYS_EMERG, SYS_ALERT, SYS_CRIT, SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO, SYS_DEBUG

    http_proxy

    指定 URL。

    https_proxy

    指定 URL。

    no_proxy

    指定必须直接访问的目标列表。

对Juju的讽刺支持

Contrail 网络 2011.L1 版支持 OpenStack Train 版本 15xx 中的 Ironic 新超级按钮。具有讽刺意味的是,OpenStack是一个OpenStack项目,它管理裸机服务器(BMS),就好像它们是虚拟机(VM)一样。有关 Contrail 和裸金属服务器的详细信息,请参阅裸机服务器管理

Contrail Networking Release 2011.L2 支持 OpenStack Ussuri with Ironic 部署在 Ubuntu 版本 20.04 (Focal Fossa) 上。

示例中 bundle_yaml_file显示了更新的选项。在部署更新的 yaml 文件之前,您应该已安装 Ceph。如果没有,请参阅 安装 Ceph

有关部署 bundle_yaml_file的信息,请参阅 部署 Contrail 超级按钮

下面是一个示例 bundle_yaml_file ,其中突出显示了其他选项。 ceph-radosgw 及其相关选项是支持新的讽刺魅力所必需的。

版本历史记录表
释放
描述
2011.L2
Contrail Networking Release 2011.L2 支持 OpenStack Ussuri with Ironic 部署在 Ubuntu 版本 20.04 (Focal Fossa) 上。
2011.L1
Contrail Networking Release 2011.L1 支持 OpenStack Train 版本 15 中的 Ironic 新超级按钮。 xx