升级¶
要升级 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 规范上设置以下变量。
升级到 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 部署也将升级。