第 11 章 AWS Marketplace Upgrade Process 中的 Ansible Automation Platform


您可以将现有的 Ansible Automation Platform 从 AWS Marketplace 部署升级到更新的版本。升级过程涵盖了自动化中心和自动化控制器的升级。升级过程所需的时间与 AWS Marketplace 部署安装的 Ansible Automation Platform 大致相同。升级过程还会备份 Ansible Automation Platform。

注意

AWS Marketplace 中的 Ansible Automation Platform 支持后续升级。所有升级都不是您当前升级到的版本后的一个主要版本。例如,要将 Ansible Automation Platform 从 AWS Marketplace 升级到 2.3.20230221,您必须位于来自 AWS Marketplace 的 2.2.20230215 版本。

先决条件

  • 必须安装 Docker 才能运行升级 playbook。
  • 运行 ansible-on-clouds-ops 容器镜像的 Linux 或 macOS 系统。

以下流程组成升级过程:

  1. 备份 Ansible Automation Platform 堆栈。

    1. 拉取 ansible-on-clouds-ops 2.2 容器镜像
    2. 确保满足最低所需的权限
    3. 准备环境
    4. 运行 ansible-on-clouds-ops 2.2 容器来备份堆栈
  2. 升级 Ansible Automation Platform。

    1. 拉取 ansible-on-clouds-ops 2.3 容器镜像
    2. 确保满足最低所需的权限
    3. 运行 ansible-on-clouds-ops 容器来生成数据文件
    4. 更新数据文件
    5. 运行 ansible-on-clouds-ops 2.3 容器,从 AWS Marketplace 部署升级 Ansible Automation Platform
  3. (可选)从备份中恢复堆栈。

    1. 拉取 ansible-on-clouds-ops 2.2 容器镜像
    2. 确保满足最低所需的权限
    3. 准备环境
    4. 运行 ansible-on-clouds-ops 2.2 容器来恢复堆栈

11.1. 在升级前进行备份

11.1.1. 备份 Ansible Automation Platform 堆栈

流程

  1. 拉取 ansible-on-clouds-ops 2.2 容器镜像。

    注意

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

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

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

    注意

    ansible-on-clouds-ops 镜像标签必须与基础部署的版本匹配。例如,如果您的基础部署版本为 2.2.20230215-00,请使用标签 2.2.20230215 拉取 ansible-on-clouds-ops 镜像

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

对于 EMEA 区域 (欧洲、中东、非洲) 运行以下命令:

$ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-emea-rhel8:2.2.20230215
$ docker pull $IMAGE --platform=linux/amd64
Copy to Clipboard Toggle word wrap

11.1.2. IAM 最低权限

您必须具有以下 AWS IAM 权限才能备份堆栈:

required-roles:
 actions:
  -backup:DescribeBackupJob
  -backup:ListRecoveryPointsByBackupVault
  -backup:StartBackupJob
 resources:
  -'*'
cloudformation:
 actions:
  -elasticfilesystem:DescribeFileSystems
 resources:
  -'*'
iam:
 actions:
  -rds:CreateDBSnapshot
  -rds:DescribeDBSnapshots
 resources:
  -'*'
secretsmanager:
 actions:
  -secretsmanager:GetSecretValue
 resources:
  -'*'
s3
 actions:
  -s3:CreateBucket
  -s3:GetObject
  -s3:PutObject
 resources:
  -'*'
Copy to Clipboard Toggle word wrap

11.1.3. 准备环境

  1. 确保 AWS_CREDS_ABS_PATH 环境变量已定义指向 AWS 凭证文件。

    export AWS_CREDS_ABS_PATH=/Users/<USER>/.aws/credentials
    Copy to Clipboard Toggle word wrap
  2. 创建一个 extra_vars/vars.yml 文件,添加以下值并确保它们自定义以匹配您的环境。

    aws_foundation_stack_name: "AnsibleAutomationPlatformmy-foundation-stack"
    aws_region: us-east-1
    aws_backup_vault_name: "Default"
    aws_backup_iam_role_arn: "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole"
    Copy to Clipboard Toggle word wrap

    其中:

    • aws_foundation_stack_name 是现有部署的名称。
    • aws_region 是部署现有堆栈的区域。
    • 'aws_backup_vault_name' 是您的 EFS 备份存储的备份库的名称。
    • aws-backup_iam_role_arn 是 AWS IAM 角色的 Amazon 资源名称 (ARN),具有执行备份操作的权限。

      注意

      您可以使用 AWS Backup Default Service Role,其格式为 arn:aws:iam::<Your AWS Account Number>:role/service-role/AWSBackupDefaultServiceRole

准备环境后,您可以通过运行以下命令来触发备份:

$ docker run --rm --env PLATFORM=AWS \
-v $(pwd)/extra_vars:/extra_vars:ro \
-v ${AWS_CREDS_ABS_PATH}:/home/runner/.aws/credentials \
$IMAGE \
redhat.ansible_on_clouds.aws_backup_stack \
-e @/extra_vars/vars.yml
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat