Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

如何使用 Ansible 部署程序执行零影响 Contrail 网络升级

准备工作:

  • 此升级的目标版本必须是 Contrail 版本 2005 或更高版本。

  • 此过程只能以增量方式升级到下一个 Contrail 网络版本。例如,如果您运行的是 Contrail 网络 2003 版,并希望升级到下一个 Contrail 版本(即 Contrail 网络版 2005),则可以使用此过程执行升级。

    对于相隔两个或多个版本的版本之间的升级,不会验证此过程。例如,它不能用于从 Contrail Networking Release 2002 升级到 Contrail Networking Release 2005。

    有关说明 Contrail 网络发布顺序的表中的 Contrail 网络版本列表,请参阅 Contrail 网络支持的平台

  • Contrail Ansible Deployer 容器只能在 CentOS 环境中使用。

  • 在继续升级过程之前,请拍摄当前配置的快照。有关详细信息,请参阅 如何使用 Openstack 13 或 Ansible Deployers 在 Openstack 环境中以 JSON 格式备份和还原 Contrail 数据库

从 Contrail 网络版本 2005 开始,您可以使用 Contrail Ansible Deployer 容器执行 Contrail 网络的零影响升级 (ZIU)。Contrail Ansible Deployer 容器映像可以从托管在 的 hub.juniper.net/contrail瞻博网络 Contrail 容器注册表加载。

使用本文档中的过程,使用 Contrail Ansible Deployer 容器执行 Contrail 网络的零影响升级 (ZIU)。此 ZIU 允许 Contrail 网络进行升级,同时保持最短的网络停机时间。

此过程说明如何使用 Ansible 部署程序容器执行 ZIU。其中包括从 Contrail 网络版本 2005 升级到版本 2008 所执行步骤的代表性示例。

要使用 Ansible 部署程序执行 ZIU,请执行以下操作:

  1. 拉取 contrail-ansible-deployer 目标升级版本的文件。此过程通常从环境中运行的 Contrail 控制器执行,但也可以从与正在升级的部署具有网络连接的单独服务器执行。

    此过程说明如何从瞻博网络 Contrail 容器注册表加载 2008 映像。但是,您也可以更改值以从专用注册表加载文件。

    瞻博网络 Contrail 容器注册表托管在 hub.juniper.net/contrail。如果需要凭据来访问注册表,请发送电子邮件 mailto:contrail-registry@juniper.net

    输入以下命令以从注册表中提取 contrail-ansible-deployer 文件:

    其中:

  2. 启动 Contrail Ansible Deployer:
  3. 导航到 instances.yaml 该文件并将其打开以进行编辑。

    该文件 instances.yaml 用于最初部署安装程序。 instances.yaml 可以将其加载到 Contrail Ansible Deployer 中并进行编辑以支持目标升级版本。

    使用 VI 作为编辑器的 Contrail 2008 版目标升级示例

  4. 从现有部署中将 更新CONTRAIL_CONTAINER_TAGinstances.yaml 文件中所需的版本标记。该CONTRAIL_CONTAINER_TAG变量位于 instances.yaml 文件中的层次结构中contrail_configuration:

    任何 Contrail Release 20 软件的信息 CONTRAIL_CONTAINER_TAG 都可以从 README Access to Contrail Networking Registry 20xx 获得。

    下面是文件配置instances.yml示例:

  5. 通过从 Contrail ansible 部署程序容器内部运行 ziu.yml playbook 文件来升级控制平面。
    • 对于 Contrail 网络版本 2005 至 Contrail 网络版本 2008:

      通过运行 ziu.yml 剧本文件升级控制平面。

      sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/ziu.yml

    • 对于 Contrail 网络版本 2011 及更高版本:

      通过运行 playbook 文件的控制器阶段来升级控制平面 ziu.yml

      sudo -E ansible-playbook -v -e stage=controller -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml

  6. 通过运行 install_openstack.yml 剧本文件来升级 Openstack 插件。
    • 对于 Contrail 网络版本 2005 至 Contrail 网络版本 2008:

      sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/install_openstack.yml

    • 对于 Contrail 网络版本 2011 及更高版本:

      sudo -E ansible-playbook -v -e stage=openstack -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml

  7. 输入命令以contrail-status监控升级状态。确保所有 Pod 都达到状态,所有服务都达到状态runningactive

    成功升级后,此 contrail-status 命令提供以下输出:

    注意:

    为便于阅读,已删除某些输出字段和数据。

  8. 从一组计算节点迁移工作负载 VM。在 instances.yaml 文件中将它们保留为未注释。注释其他尚未准备好在实例中升级的计算.yaml。
  9. 升级计算节点。
    • 对于 Contrail 网络版本 2005 至 Contrail 网络版本 2008:

      install_contrail.yml运行 playbook 文件以升级文件中未注释instances.yaml的计算节点。在此步骤中,只有 8 中未注释的计算节点才会升级到目标版本。

      sudo -E ansible-playbook -v -e orchestrator=openstack -e config_file=instances.yaml playbooks/install_contrail.yml

    • 对于 Contrail 网络版本 2011 及更高版本:

      运行 playbook 文件的计算阶段 ziu.yml ,以升级文件中未注释 instances.yaml 的计算节点。在此步骤中,只有 8 中未注释的计算节点才会升级到目标版本。

      sudo -E ansible-playbook -v -e stage=compute -e orchestrator=openstack -e config_file=../instances.yaml playbooks/ziu.yml

  10. 重复步骤 89 ,直到升级所有计算节点。

您可以在 上 /var/log/ansible.log访问升级的 Ansible 剧本日志。

版本历史记录表
释放
描述
2005
从 Contrail 网络版本 2005 开始,您可以使用 Contrail Ansible Deployer 容器执行 Contrail 网络的零影响升级 (ZIU)。