11.2. 升级 Ansible Automation Platform


11.2.1. 拉取 ansible-on-clouds-ops 容器镜像

流程

  • 根据您要升级到的版本,使用标签拉取 Clouds 操作容器的 Ansible Docker 镜像。如果您不确定您部署的版本以及您需要升级到的版本,请参阅 命令 生成器和 playbook gcp_get_aoc_version 以了解有关 Clouds 部署的 Ansible 当前版本的更多信息,以及要升级到的版本。

    注意

    在拉取 docker 镜像前,请确保使用 docker 登录到 registry.redhat.io。使用以下命令登录到 registry.redhat.io。

    $ docker login registry.redhat.io
    Copy to Clipboard Toggle word wrap

    有关 registry 登录的更多信息,请参阅 Registry 身份验证

    注意

    Clouds 操作镜像标签上的 Ansible 必须与您要升级到的版本匹配。例如,如果您的基础部署版本是 2.4.20231024,使用标签 2.4.20240215 拉取操作镜像,以升级到 2.4.20240215 版本。

    $ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-rhel9:2.4.20240215
    $ docker pull $IMAGE --platform=linux/amd64
    Copy to Clipboard Toggle word wrap
注意

如果您的基础部署版本不是 2.4.20240215-00,请参阅 Upgrade from version 列中的 Released version 页的表。在 IMAGE 环境变量的 Ansible-on-clouds-ops 容器镜像列中找到要使用的相应操作镜像

11.2.2. 所需权限

您必须具有以下 GCP IAM 权限才能升级堆栈:

required-roles:
  - Service Account User
  - Compute Instance Admin (v1)
required-permissions:
  - compute.healthChecks.update
  - compute.healthChecks.use
  - compute.healthChecks.useReadOnly
  - compute.regionBackendServices.update
  - iap.tunnelInstances.accessViaIAP
  - runtimeconfig.variables.get
  - secretmanager.locations.get
  - secretmanager.locations.list
  - secretmanager.secrets.create
  - secretmanager.secrets.delete
  - secretmanager.secrets.get
  - secretmanager.secrets.list
  - secretmanager.secrets.update
  - secretmanager.versions.access
  - secretmanager.versions.add
  - secretmanager.versions.disable
  - secretmanager.versions.enable
  - secretmanager.versions.get
  - secretmanager.versions.list
Copy to Clipboard Toggle word wrap

11.2.3. 生成数据文件

本节中的命令会创建一个目录,并使用在升级过程中使用填充时的空数据模板填充。

流程

  1. 运行以下命令以生成所需的数据文件。

    # Create a folder to hold the configuration files
    $ mkdir command_generator_data
    Copy to Clipboard Toggle word wrap
  2. 使用配置文件模板填充 command_generator_data 文件夹。

    注意

    在 Linux 上,命令生成器创建的任何文件或目录默认归 root:root 所有。要更改文件和目录的所有权,您可以在创建文件后运行 sudo chmod 命令。如需更多信息,请阅读 命令生成器 - 由 root 拥有的 Linux 文件

    $ docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE \
    command_generator_vars gcp_upgrade \
    --output-data-file /data/extra_vars.yml
    Copy to Clipboard Toggle word wrap
  3. 运行这些命令后,会创建一个 command_generator_data/extra_vars.yml 模板文件。此模板文件类似于以下内容:

    gcp_upgrade:
      ansible_config_path:
      cloud_credentials_path:
      deployment_name:
      extra_vars:
        gcp_backup_taken:
        gcp_compute_region:
        gcp_compute_zone:
    Copy to Clipboard Toggle word wrap

11.2.4. 更新数据文件

在触发升级前,您必须填充数据文件。每个参数都需要,除非将其标记为可选。如果该参数为可选,可以从数据文件中删除其键和值。

  • ansible_config_path (可选)仅在使用自定义 ansible_config 覆盖时使用。
  • cloud_credentials_path 是 GCP 凭证文件的路径。
  • DEPLOYMENT_NAME 是基础部署的名称。

    • 这是部署基础时使用的相同名称。
  • gcp_backup_taken 是最近在运行此升级前创建的手动备份当前部署的验证。此处使用 true 验证最近的备份是否已创建。
  • gcp_compute_region 是部署基础部署时提供的 GCP 区域。如果您在部署基础时未提供区域,请在此处使用默认区域 us-east1
  • gcp_compute_zone 是部署基础部署时提供的 GCP 区。如果您在部署基础时未提供区域,请在此处使用默认的 us-east1-b

填充数据文件后,它应类似于以下内容:

以下示例提供了以下值:

gcp_upgrade:
  ansible_config_path:
  cloud_credentials_path: ~/secrets/GCP-secrets.json
  deployment_name: AnsibleAutomationPlatform
  extra_vars:
    gcp_backup_taken: true
    gcp_compute_region: us-east1
    gcp_compute_zone: us-east1-b
Copy to Clipboard Toggle word wrap

11.2.5. 运行升级 playbook

注意

Ansible Automation Platform 升级到 2.4.20240215 更新其内部负载均衡器的协议。如果在安装后添加了额外的网络配置,它们可能需要更新以确保连接。如需更多信息,请参阅升级 备注

  1. 要运行升级,请运行命令生成器来生成 upgrade CLI 命令:

    $ docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE command_generator --data-file /data/extra_vars.yml
    Copy to Clipboard Toggle word wrap

    这会生成以下命令:

    -----------------------------------------------
    docker run --rm --env PLATFORM=GCP -v ~/secrets/GCP-secrets.json:/home/runner/.gcp/credentials:ro
    --env ANSIBLE_CONFIG=../gcp-ansible.cfg
    --env DEPLOYMENT_NAME=AnsibleAutomationPlatform
    --env GENERATE_INVENTORY=true  $IMAGE redhat.ansible_on_clouds.gcp_upgrade \
    -e 'gcp_deployment_name=AnsibleAutomationPlatform \
    gcp_service_account_credentials_json_path=/home/runner/.gcp/credentials \
    gcp_compute_region=us-east1 gcp_compute_zone=us-east1-b gcp_backup_taken=True'
    ===============================================
    Copy to Clipboard Toggle word wrap
  2. 运行给定的 upgrade 命令以触发升级。

    $ docker run --rm --env PLATFORM=GCP -v ~/secrets/GCP-secrets.json:/home/runner/.gcp/credentials:ro \
    --env ANSIBLE_CONFIG=../gcp-ansible.cfg \
    --env DEPLOYMENT_NAME=AnsibleAutomationPlatform \
    --env GENERATE_INVENTORY=true  $IMAGE redhat.ansible_on_clouds.gcp_upgrade \
    -e 'gcp_deployment_name=AnsibleAutomationPlatform \
    gcp_service_account_credentials_json_path=/home/runner/.gcp/credentials \
    gcp_compute_region=us-east1 gcp_compute_zone=us-east1-b gcp_backup_taken=True'
    Copy to Clipboard Toggle word wrap
  3. 升级可能需要一些时间才能完成,但根据系统中的扩展节点数量,可能需要更长的时间。以下日志会标记成功升级。

    TASK [redhat.ansible_on_clouds.standalone_gcp_upgrade : [upgrade] Show GCP current version] ***
    ok: [localhost] => {
        "msg": "gcp_current_version: 2.4.20231024-00"
    }
    Copy to Clipboard Toggle word wrap
  4. 来自 GCP Marketplace 部署的 Ansible Automation Platform 现在已升级到更新的版本,您可以使用部署凭证登录到 Red Hat Ansible Automation Platform 自动化控制器和自动化中心。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat