第 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 系统。
以下流程组成升级过程:
备份 Ansible Automation Platform 堆栈。
- 拉取 ansible-on-clouds-ops 2.2 容器镜像
- 确保满足最低所需的权限
- 准备环境
- 运行 ansible-on-clouds-ops 2.2 容器来备份堆栈
升级 Ansible Automation Platform。
- 拉取 ansible-on-clouds-ops 2.3 容器镜像
- 确保满足最低所需的权限
- 运行 ansible-on-clouds-ops 容器来生成数据文件
- 更新数据文件
- 运行 ansible-on-clouds-ops 2.3 容器,从 AWS Marketplace 部署升级 Ansible Automation Platform
(可选)从备份中恢复堆栈。
- 拉取 ansible-on-clouds-ops 2.2 容器镜像
- 确保满足最低所需的权限
- 准备环境
- 运行 ansible-on-clouds-ops 2.2 容器来恢复堆栈
11.1. 在升级前进行备份 复制链接链接已复制到粘贴板!
11.1.1. 备份 Ansible Automation Platform 堆栈 复制链接链接已复制到粘贴板!
流程
拉取
ansible-on-clouds-ops 2.2
容器镜像。注意在拉取 docker 镜像前,请确保使用 docker 登录到 registry.redhat.com。使用以下命令登录到 registry.redhat.com。
docker login registry.redhat.io
$ docker login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 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
$ 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 Copied! Toggle word wrap Toggle overflow
对于 EMEA 区域 (欧洲、中东、非洲) 运行以下命令:
export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-emea-rhel8:2.2.20230215 docker pull $IMAGE --platform=linux/amd64
$ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-emea-rhel8:2.2.20230215
$ docker pull $IMAGE --platform=linux/amd64
11.1.2. IAM 最低权限 复制链接链接已复制到粘贴板!
您必须具有以下 AWS IAM 权限才能备份堆栈:
11.1.3. 准备环境 复制链接链接已复制到粘贴板!
确保
AWS_CREDS_ABS_PATH
环境变量已定义指向 AWS 凭证文件。export AWS_CREDS_ABS_PATH=/Users/<USER>/.aws/credentials
export AWS_CREDS_ABS_PATH=/Users/<USER>/.aws/credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
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"
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 Copied! Toggle word wrap Toggle overflow 其中:
-
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
-
11.1.4. 运行 ansible-on-clouds-ops 2.2 容器来备份堆栈 复制链接链接已复制到粘贴板!
准备环境后,您可以通过运行以下命令来触发备份: