mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-15 21:42:15 +11:00
feat: bump awx operator version to 2.15.0 (#341)
* feat: bump awx operator version to 2.15.0 * docs: explain arm64 support * docs: fix logs for galaxy operator * chore: change location for specific parameter
This commit is contained in:
parent
e47d91369a
commit
a2f564d1d5
10 changed files with 32 additions and 45 deletions
29
README.md
29
README.md
|
|
@ -29,22 +29,23 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
|||
|
||||
- Tested on:
|
||||
- CentOS Stream 9 (Minimal)
|
||||
- K3s v1.28.7+k3s1
|
||||
- K3s v1.29.3+k3s1
|
||||
- Products that will be deployed:
|
||||
- AWX Operator 2.14.0
|
||||
- AWX 24.1.0
|
||||
- AWX Operator 2.15.0
|
||||
- AWX 24.2.0
|
||||
- PostgreSQL 15
|
||||
|
||||
## 📝 References
|
||||
|
||||
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/24.1.0/INSTALL.md) @24.1.0
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.14.0/README.md) @2.14.0
|
||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/24.2.0/INSTALL.md) @24.2.0
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.15.0/README.md) @2.15.0
|
||||
|
||||
## 📝 Requirements
|
||||
|
||||
- **Computing resources**
|
||||
- **2 CPUs with x86-64-v2 support**.
|
||||
- **2 CPUs minimum**.
|
||||
- Both **AMD64** (x86_64) with x86-64-v2 support, and **ARM64** (aarch64) are supported.
|
||||
- **4 GiB RAM minimum**.
|
||||
- It's recommended to add more CPUs and RAM (like 4 CPUs and 8 GiB RAM or more) to avoid performance issue and job scheduling issue.
|
||||
- The files in this repository are configured to ignore resource requirements which specified by AWX Operator by default.
|
||||
|
|
@ -81,17 +82,11 @@ Install a specific version of K3s with `--write-kubeconfig-mode 644` to make the
|
|||
|
||||
<!-- shell: k3s: install -->
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.28.7+k3s1 sh -s - --write-kubeconfig-mode 644
|
||||
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.29.3+k3s1 sh -s - --write-kubeconfig-mode 644
|
||||
```
|
||||
|
||||
### ✅ Install AWX Operator
|
||||
|
||||
> [!WARNING]
|
||||
> AWX Operator 2.13.x introduces some major changes and some issues related to these changes are reported. These issues include an issue that have the potential to lose data depending on your configuration.
|
||||
> Since the issues still exist in 2.14.0, if you don't have any strong reason to use new version, personally I recommend you to use [2.12.1](https://github.com/kurokobo/awx-on-k3s/tree/2.12.1) instead until major issues are resolved.
|
||||
>
|
||||
> If you have a plan to upgrade existing AWX Operator and AWX from 2.12.x or earlier to 2.13.x or later anyway, some additional tasks are required. Refer to [📝Tips: Upgrade AWX Operator and AWX](tips/upgrade-operator.md) to further information. Also do not forget creating backup before upgrading.
|
||||
|
||||
Clone this repository and change directory.
|
||||
|
||||
If you want to use files suitable for a specific version of AWX Operator, [refer to tags in this repository](https://github.com/kurokobo/awx-on-k3s/tags) and specify the desired tag in `git checkout`. Especially for `0.13.0` or earlier versions of AWX Operator, refer to [📝Tips: Deploy older version of AWX Operator](tips/deploy-older-operator.md).
|
||||
|
|
@ -100,7 +95,7 @@ If you want to use files suitable for a specific version of AWX Operator, [refer
|
|||
cd ~
|
||||
git clone https://github.com/kurokobo/awx-on-k3s.git
|
||||
cd awx-on-k3s
|
||||
git checkout 2.14.0
|
||||
git checkout 2.15.0
|
||||
```
|
||||
|
||||
Then invoke `kubectl apply -k operator` to deploy AWX Operator.
|
||||
|
|
@ -178,9 +173,7 @@ Prepare directories for Persistent Volumes defined in `base/pv.yaml`. These dire
|
|||
```bash
|
||||
sudo mkdir -p /data/postgres-15/data
|
||||
sudo mkdir -p /data/projects
|
||||
sudo chown 26:0 /data/postgres-15/data
|
||||
sudo chown 1000:0 /data/projects
|
||||
sudo chmod 700 /data/postgres-15/data
|
||||
```
|
||||
|
||||
### ✅ Deploy AWX
|
||||
|
|
@ -221,7 +214,7 @@ NAME READY STATUS RESTAR
|
|||
pod/awx-operator-controller-manager-59b86c6fb-4zz9r 2/2 Running 0 7m22s
|
||||
pod/awx-postgres-15-0 1/1 Running 0 6m33s
|
||||
pod/awx-web-549f7fdbc5-htpl9 3/3 Running 0 6m5s
|
||||
pod/awx-migration-24.1.0-kglht 0/1 Completed 0 4m36s
|
||||
pod/awx-migration-24.2.0-kglht 0/1 Completed 0 4m36s
|
||||
pod/awx-task-7d4fcdd449-mqkp2 4/4 Running 0 6m4s
|
||||
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
|
|
@ -243,7 +236,7 @@ NAME READY AGE
|
|||
statefulset.apps/awx-postgres-15 1/1 6m33s
|
||||
|
||||
NAME COMPLETIONS DURATION AGE
|
||||
job.batch/awx-migration-24.1.0 1/1 2m4s 4m36s
|
||||
job.batch/awx-migration-24.2.0 1/1 2m4s 4m36s
|
||||
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
ingress.networking.k8s.io/awx-ingress traefik awx.example.com 192.168.0.221 80, 443 6m6s
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ An example simple playbook for Ansible is also provided in this repository. This
|
|||
| - | - | - |
|
||||
| `awxbackup_namespace` | The name of the NameSpace where the `AWXBackup` resource will be created. | `awx` |
|
||||
| `awxbackup_name` | The name of the `AWXBackup` resource. Dynamically generated using execution time by default. | `awxbackup-{{ lookup('pipe', 'date +%Y-%m-%d-%H-%M-%S') }}` |
|
||||
| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.14.0/roles/backup) for acceptable fields. | `deployment_name: awx`<br>`backup_pvc: awx-backup-claim`<br>`clean_backup_on_delete: true` |
|
||||
| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.15.0/roles/backup) for acceptable fields. | `deployment_name: awx`<br>`backup_pvc: awx-backup-claim`<br>`clean_backup_on_delete: true` |
|
||||
| `awxbackup_timeout` | Time to wait for backup to complete, in seconds. If exceeded, the playbook will fail. | `600` |
|
||||
| `awxbackup_keep_days` | Number of days to keep `AWXBackup` resources. `AWXBackup` resources older than this value will be deleted by this playbook. Set `0` to keep forever. | `30` |
|
||||
|
||||
|
|
|
|||
|
|
@ -5,10 +5,8 @@ metadata:
|
|||
name: awx
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - AWX Operator: 2.0.0
|
||||
# https://github.com/ansible/awx-operator/blob/2.0.0/README.md
|
||||
# - AWX: 22.0.0
|
||||
# https://github.com/ansible/awx/blob/22.0.0/INSTALL.md
|
||||
# - AWX Operator: 2.15.0
|
||||
# https://github.com/ansible/awx-operator/blob/2.15.0/README.md
|
||||
|
||||
admin_user: admin
|
||||
admin_password_secret: awx-admin-password
|
||||
|
|
@ -20,6 +18,7 @@ spec:
|
|||
|
||||
postgres_configuration_secret: awx-postgres-configuration
|
||||
|
||||
postgres_data_volume_init: true
|
||||
postgres_storage_class: awx-postgres-volume
|
||||
postgres_storage_requirements:
|
||||
requests:
|
||||
|
|
@ -39,7 +38,5 @@ spec:
|
|||
redis_resource_requirements: {}
|
||||
rsyslog_resource_requirements: {}
|
||||
|
||||
postgres_data_volume_init: true
|
||||
|
||||
# Uncomment to reveal "censored" logs
|
||||
#no_log: false
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ In this guide, [Galaxy Operator](https://github.com/ansible/galaxy-operator) is
|
|||
> [!WARNING]
|
||||
> Galaxy NG deployed with this procedure will not be used as container registry due to [a known issue](https://github.com/ansible/galaxy-operator/issues/74). If you want to use fully working Galaxy NG, follow [the old version of this guide that uses Pulp Operator instead](https://github.com/kurokobo/awx-on-k3s/tree/2.12.1/galaxy#deploy-on-kubernetes-pulp-operator).
|
||||
|
||||
- Galaxy Operator 2024.02.29
|
||||
- Galaxy Operator 2024.4.3
|
||||
- Galaxy NG
|
||||
- Service: 5d56bddb
|
||||
- UI: 59cf7798
|
||||
|
|
@ -125,10 +125,10 @@ Prepare directories for Persistent Volumes defined in `galaxy/galaxy/pv.yaml`.
|
|||
<!-- shell: instance: create directories -->
|
||||
```bash
|
||||
sudo mkdir -p /data/galaxy/postgres-13
|
||||
sudo mkdir -p /data/galaxy/redis
|
||||
sudo chmod 755 /data/galaxy/postgres-13
|
||||
sudo mkdir -p /data/galaxy/file
|
||||
sudo chown 1000:0 /data/galaxy/file
|
||||
sudo chmod 755 /data/galaxy/postgres-13
|
||||
sudo mkdir -p /data/galaxy/redis
|
||||
```
|
||||
|
||||
### Deploy Galaxy NG
|
||||
|
|
@ -154,7 +154,7 @@ $ kubectl -n galaxy logs -f deployments/galaxy-operator-controller-manager
|
|||
...
|
||||
----- Ansible Task Status Event StdOut (galaxy.ansible.com/v1beta1, Kind=Galaxy, galaxy/galaxy) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=128 changed=25 unreachable=0 failed=0 skipped=85 rescued=0 ignored=0
|
||||
localhost : ok=131 changed=25 unreachable=0 failed=0 skipped=82 rescued=0 ignored=0
|
||||
```
|
||||
|
||||
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ metadata:
|
|||
name: galaxy
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - Galaxy Operator: 2024.02.29
|
||||
# https://github.com/ansible/galaxy-operator/blob/2024.02.29/README.md
|
||||
# - Galaxy Operator: 2024.4.3
|
||||
# https://github.com/ansible/galaxy-operator/blob/2024.4.3/README.md
|
||||
|
||||
image: quay.io/ansible/galaxy-ng
|
||||
image_version: 5d56bddb
|
||||
image_version: f3c93fc1
|
||||
image_web: quay.io/ansible/galaxy-ui
|
||||
image_web_version: 59cf7798
|
||||
image_web_version: b2fa0d0d
|
||||
|
||||
admin_password_secret: galaxy-admin-password
|
||||
|
||||
|
|
@ -23,6 +23,7 @@ spec:
|
|||
file_storage_access_mode: ReadWriteOnce
|
||||
file_storage_size: 8Gi
|
||||
|
||||
postgres_configuration_secret: galaxy-postgres-configuration
|
||||
postgres_storage_class: galaxy-postgres-volume
|
||||
postgres_storage_requirements:
|
||||
requests:
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ secretGenerator:
|
|||
- operator=eda
|
||||
|
||||
resources:
|
||||
- github.com/ansible/galaxy-operator/config/default?ref=2024.02.29
|
||||
- github.com/ansible/galaxy-operator/config/default?ref=2024.4.3
|
||||
|
||||
images:
|
||||
- name: quay.io/ansible/galaxy-operator
|
||||
newTag: 2024.02.29
|
||||
newTag: 2024.4.3
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ secretGenerator:
|
|||
- operator=awx
|
||||
|
||||
resources:
|
||||
- github.com/ansible/awx-operator/config/default?ref=2.14.0
|
||||
- github.com/ansible/awx-operator/config/default?ref=2.15.0
|
||||
|
||||
images:
|
||||
- name: quay.io/ansible/awx-operator
|
||||
newTag: 2.14.0
|
||||
newTag: 2.15.0
|
||||
|
|
|
|||
|
|
@ -45,10 +45,10 @@ Then prepare directories for your PVs. `/data/projects` is required if you are r
|
|||
<!-- shell: restore: create directories -->
|
||||
```bash
|
||||
sudo mkdir -p /data/postgres-15/data
|
||||
sudo mkdir -p /data/projects
|
||||
sudo chown 26:0 /data/postgres-15/data
|
||||
sudo chown 1000:0 /data/projects
|
||||
sudo chmod 700 /data/postgres-15/data
|
||||
sudo mkdir -p /data/projects
|
||||
sudo chown 1000:0 /data/projects
|
||||
```
|
||||
|
||||
Then deploy PV and PVC. It is recommended that making the size of PVs and PVCs same as the PVs which your AWX used when the backup was taken.
|
||||
|
|
@ -111,7 +111,7 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
|
|||
...
|
||||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=92 changed=0 unreachable=0 failed=0 skipped=79 rescued=0 ignored=1
|
||||
localhost : ok=92 changed=0 unreachable=0 failed=0 skipped=80 rescued=0 ignored=1
|
||||
```
|
||||
|
||||
This will create AWXRestore object in the namespace, and now your AWX is restored.
|
||||
|
|
|
|||
|
|
@ -11,11 +11,6 @@ Note that once you upgrade AWX Operator, your AWX will also be upgraded automati
|
|||
|
||||
[There is `image_version` parameter for AWX resource to change which image will be used](https://ansible.readthedocs.io/projects/awx-operator/en/latest/user-guide/advanced-configuration/deploying-a-specific-version-of-awx.html), but it appears that using a version of AWX other than the one bundled with the AWX Operator [is currently not supported](https://ansible.readthedocs.io/projects/awx-operator/en/latest/user-guide/advanced-configuration/deploying-a-specific-version-of-awx.html). Conversely, if you want to upgrade AWX, you need to plan to upgrade AWX Operator first.
|
||||
|
||||
> [!WARNING]
|
||||
> AWX Operator 2.13.x introduces some major changes and some issues related to these changes are reported. If you don't have any strong reason to use 2.13.x, personally I recommend to use [2.12.1](https://github.com/kurokobo/awx-on-k3s/tree/2.12.1) instead until major issues are resolved.
|
||||
>
|
||||
> If you have a plan to upgrade existing AWX Operator and AWX from 2.12.x or earlier to 2.13.x anyway, some additional tasks are required. Refer to [the notes below](#-upgrade-from-0140-or-later-eg-from-0140-to-0150).
|
||||
|
||||
<!-- omit in toc -->
|
||||
## Table of Contents
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
|||
|
||||
| AWX Operator | AWX |
|
||||
| ------------ | ------- |
|
||||
| 2.15.0 | 24.2.0 |
|
||||
| 2.14.0 | 24.1.0 |
|
||||
| 2.13.1 | 24.0.0 |
|
||||
| 2.13.0 | 24.0.0 |
|
||||
|
|
|
|||
Loading…
Reference in a new issue