11.2. 升级 Ansible Automation Platform
11.2.1. 拉取 ansible-on-clouds-ops 2.3 容器镜像 复制链接链接已复制到粘贴板!
流程
在云操作容器上拉取 Ansible 的 Docker 镜像,其标签与您要升级到的版本相同。
注意在拉取 docker 镜像前,请确保使用 docker 登录到 registry.redhat.com。使用以下命令登录到 registry.redhat.com。
docker login registry.redhat.io
$ docker login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 registry 登录的更多信息,请参阅 Registry 身份验证
注意Clouds 操作镜像标签上的 Ansible 必须与您要升级到的版本匹配。例如,如果您的基础部署版本为 2.2.20230215,请使用标签 2.3.20230221 拉取操作镜像,以升级到 2.3.20230221 版本。
export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-rhel8:2.3.20230221 docker pull $IMAGE --platform=linux/amd64
$ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-rhel8:2.3.20230221 $ docker pull $IMAGE --platform=linux/amd64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
对于 EMEA 区域 (欧洲、中东、非洲) 运行以下命令:
export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-emea-rhel8:2.3.20230221 docker pull $IMAGE --platform=linux/amd64
$ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-emea-rhel8:2.3.20230221
$ docker pull $IMAGE --platform=linux/amd64
11.2.2. IAM 最小升级权限 复制链接链接已复制到粘贴板!
您必须具有以下 ASW IAM 权限才能升级堆栈:
11.2.3. 生成升级数据文件 复制链接链接已复制到粘贴板!
本节中的命令会创建一个目录,并在升级过程中使用空数据模板填充空数据模板。
运行以下命令以生成所需的数据文件。
流程
创建用于存放配置文件的文件夹。
mkdir command_generator_data
$ mkdir command_generator_dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用配置文件模板填充
command_generator_data文件夹。docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE \ command_generator_vars aws_upgrade \ --output-data-file /data/extra_vars.yml
$ docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE \ command_generator_vars aws_upgrade \ --output-data-file /data/extra_vars.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行这些命令后,会创建一个
command_generator_data/extra_vars.yml模板文件。此模板文件类似于以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.2.4. 更新数据文件 复制链接链接已复制到粘贴板!
在触发升级前,您必须填充数据文件。以下变量是数据文件中列出的参数。
-
ansible_config_path(可选)仅在使用自定义ansible_config覆盖时使用。 -
cloud_credentials_path是 AWS 凭证文件的路径。 -
DEPLOYMENT_NAME是基础部署的名称。这是部署基础时使用的相同名称。 -
aws_region是基础部署所在的区域。 -
aws_ssm_bucket_name是存储 AWS SSM 的 S3 存储桶的名称。您可以使用现有存储桶或创建新存储桶。存储桶名称不得包含大写字母。
填充数据文件后,它应类似于以下内容:
以下示例提供了以下值:
要运行升级,请运行命令生成器来生成 upgrade CLI 命令:
docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE command_generator --data-file /data/extra_vars.yml
$ docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE command_generator --data-file /data/extra_vars.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这会生成以下 upgrade 命令:
----------------------------------------------- docker run --rm --env PLATFORM=AWS -v ~/.aws/credentials:/home/runner/.aws/credentials:ro --env ANSIBLE_CONFIG=../aws-ansible.cfg --env DEPLOYMENT_NAME=AnsibleAutomationPlatform --env GENERATE_INVENTORY=true $IMAGE redhat.ansible_on_clouds.aws_upgrade -e 'aws_foundation_stack_name=AnsibleAutomationPlatform aws_region=us-east-1 aws_ssm_bucket_name=AnsibleAutomationPlatform-bucket' ===============================================
----------------------------------------------- docker run --rm --env PLATFORM=AWS -v ~/.aws/credentials:/home/runner/.aws/credentials:ro --env ANSIBLE_CONFIG=../aws-ansible.cfg --env DEPLOYMENT_NAME=AnsibleAutomationPlatform --env GENERATE_INVENTORY=true $IMAGE redhat.ansible_on_clouds.aws_upgrade -e 'aws_foundation_stack_name=AnsibleAutomationPlatform aws_region=us-east-1 aws_ssm_bucket_name=AnsibleAutomationPlatform-bucket' ===============================================Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行给定的 upgrade 命令以触发升级。
docker run --rm --env PLATFORM=AWS -v ~/.aws/credentials:/home/runner/.aws/credentials:ro \ --env ANSIBLE_CONFIG=../aws-ansible.cfg --env DEPLOYMENT_NAME=AnsibleAutomationPlatform \ --env GENERATE_INVENTORY=true $IMAGE redhat.ansible_on_clouds.aws_upgrade \ -e 'aws_foundation_stack_name=AnsibleAutomationPlatform aws_region=us-east-1 \ aws_ssm_bucket_name=AnsibleAutomationPlatform-bucket'
$ docker run --rm --env PLATFORM=AWS -v ~/.aws/credentials:/home/runner/.aws/credentials:ro \ --env ANSIBLE_CONFIG=../aws-ansible.cfg --env DEPLOYMENT_NAME=AnsibleAutomationPlatform \ --env GENERATE_INVENTORY=true $IMAGE redhat.ansible_on_clouds.aws_upgrade \ -e 'aws_foundation_stack_name=AnsibleAutomationPlatform aws_region=us-east-1 \ aws_ssm_bucket_name=AnsibleAutomationPlatform-bucket'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 升级可能需要一些时间才能完成,但根据系统中的扩展节点数量,可能需要更长的时间。以下日志会标记成功升级。
TASK [redhat.ansible_on_clouds.standalone_aws_upgrade : [upgrade] [LOG] upgrade version] *** ok: [localhost] => { "msg": "Successfully upgraded from '2.2.20230215-00' -> '2.3.20230221-00'." }TASK [redhat.ansible_on_clouds.standalone_aws_upgrade : [upgrade] [LOG] upgrade version] *** ok: [localhost] => { "msg": "Successfully upgraded from '2.2.20230215-00' -> '2.3.20230221-00'." }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 来自 AWS Marketplace 部署的 Ansible Automation Platform 现在已升级到更新的版本,您可以使用部署凭证登录到 Red Hat Ansible Automation Platform 自动化控制器和自动化中心。