跳至内容

升级

要升级 AWX,建议将 awx-operator 升级到与所需 AWX 版本相对应的版本。要查找 awx-operator 默认安装的 AWX 版本,请检查该特定版本的 DEFAULT_AWX_VERSION 变量中指定的版本。您可以通过运行以下命令来执行此操作

AWX_OPERATOR_VERSION=2.8.0
docker run --entrypoint="" quay.io/ansible/awx-operator:$AWX_OPERATOR_VERSION bash -c "env | grep DEFAULT_AWX_VERSION"

在升级之前,请确保您已进行备份,然后通过在所需的标签上调用 make deploy 或应用包含所需操作员版本的 kustomization.yaml 来升级操作员,进而升级您的 AWX 部署。

备份

任何升级的第一部分都应是备份。请注意,Pod 中有一些与数据库一起工作的密钥。仅拥有数据库备份而没有必需的密钥,在升级到新版本时遇到问题时将不足以恢复。有关如何备份数据库和密钥的信息,请参阅备份角色文档

如果您需要恢复备份,请参阅恢复角色文档。*在从备份恢复之前*,请确保

  • 删除旧的现有 AWX CR
  • 从旧部署中删除数据库的持久卷声明 (PVC),其名称类似于 postgres-15-<deployment-name>-postgres-15-0

**注意**:请勿删除命名空间/项目,因为这也会删除备份和备份的 PVC。

PostgreSQL 升级注意事项

如果存在 PostgreSQL 主版本升级,在 PVC 上的数据目录迁移到新版本后,默认情况下会保留旧的 PVC。这提供了在需要时回滚的能力,但可能会不必要地占用集群中的额外存储空间。您可以将其配置为在成功升级后自动删除,方法是在 AWX 规范上设置以下变量。

spec:
  postgres_keep_pvc_after_upgrade: False

升级到 v0.14.0 的注意事项

集群范围到命名空间范围的注意事项

从 awx-operator 0.14.0 开始,AWX 只能部署在操作员所在的命名空间中。这称为命名空间范围的操作员。如果您从早期版本升级,则需要删除现有的 awx-operator 服务帐户、角色和角色绑定。

项目现在基于 operator-sdk 项目的 v1.x

从 awx-operator 0.14.0 开始,该项目现在基于 operator-sdk 1.x。您可能需要手动删除旧的操作员部署以避免问题。

升级到 v0.14.0 的步骤

首先删除旧的 AWX Operator 以及 default 命名空间中现有的 awx-operator 服务帐户、角色和角色绑定

kubectl -n default delete deployment awx-operator
kubectl -n default delete serviceaccount awx-operator
kubectl -n default delete clusterrolebinding awx-operator
kubectl -n default delete clusterrole awx-operator

然后按照基本安装中的说明安装新的 AWX Operator。NAMESPACE 环境变量必须是旧 AWX 实例所在的命名空间的名称。

新的 AWX Operator 运行起来后,您的 AWX 部署也将升级。