mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-16 05:52:15 +11:00
feat: bump operator version to 2.0.1
This commit is contained in:
parent
b8be803623
commit
3958141345
7 changed files with 33 additions and 20 deletions
12
README.md
12
README.md
|
|
@ -31,15 +31,15 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
||||||
- CentOS Stream 8 (Minimal)
|
- CentOS Stream 8 (Minimal)
|
||||||
- K3s v1.26.3+k3s1
|
- K3s v1.26.3+k3s1
|
||||||
- Products that will be deployed:
|
- Products that will be deployed:
|
||||||
- AWX Operator 2.0.0
|
- AWX Operator 2.0.1
|
||||||
- AWX 22.0.0
|
- AWX 22.1.0
|
||||||
- PostgreSQL 13
|
- PostgreSQL 13
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
||||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/22.0.0/INSTALL.md) @22.0.0
|
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/22.1.0/INSTALL.md) @22.1.0
|
||||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.0.0/README.md) @2.0.0
|
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.0.1/README.md) @2.0.1
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
|
@ -90,7 +90,7 @@ Install specified version of AWX Operator. Note that this procedure is applicabl
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/ansible/awx-operator.git
|
git clone https://github.com/ansible/awx-operator.git
|
||||||
cd awx-operator
|
cd awx-operator
|
||||||
git checkout 2.0.0
|
git checkout 2.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
Export the name of the namespace where you want to deploy AWX Operator as the environment variable `NAMESPACE` and run `make deploy`. The default namespace is `awx`.
|
Export the name of the namespace where you want to deploy AWX Operator as the environment variable `NAMESPACE` and run `make deploy`. The default namespace is `awx`.
|
||||||
|
|
@ -127,7 +127,7 @@ If you want to use files suitable for the specific version of AWX Operator, [ref
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/kurokobo/awx-on-k3s.git
|
git clone https://github.com/kurokobo/awx-on-k3s.git
|
||||||
cd awx-on-k3s
|
cd awx-on-k3s
|
||||||
git checkout 2.0.0
|
git checkout 2.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
Generate a Self-Signed certificate. Note that IP address can't be specified. If you want to use a certificate from public ACME CA such as Let's Encrypt or ZeroSSL instead of Self-Signed certificate, follow the guide on [📁 **Use SSL Certificate from Public ACME CA**](acme) first and come back to this step when done.
|
Generate a Self-Signed certificate. Note that IP address can't be specified. If you want to use a certificate from public ACME CA such as Let's Encrypt or ZeroSSL instead of Self-Signed certificate, follow the guide on [📁 **Use SSL Certificate from Public ACME CA**](acme) first and come back to this step when done.
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ This guide does not provide any information how to configure Azure, other DNS se
|
||||||
Deploy cert-manager first.
|
Deploy cert-manager first.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.0/cert-manager.yaml
|
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.1/cert-manager.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
Ensure the pods in `cert-manager` namespace are running.
|
Ensure the pods in `cert-manager` namespace are running.
|
||||||
|
|
|
||||||
|
|
@ -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_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_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.0.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.0.1/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_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` |
|
| `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` |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,14 +38,3 @@ spec:
|
||||||
|
|
||||||
# Uncomment to reveal "censored" logs
|
# Uncomment to reveal "censored" logs
|
||||||
#no_log: false
|
#no_log: false
|
||||||
|
|
||||||
# A workaround to allow Manual type projects. This have to be removed in the next release
|
|
||||||
# https://github.com/ansible/awx-operator/issues/1323
|
|
||||||
extra_volumes: |
|
|
||||||
- name: awx-projects-web
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: awx-projects-claim
|
|
||||||
|
|
||||||
web_extra_volume_mounts: |
|
|
||||||
- name: awx-projects-web
|
|
||||||
mountPath: /var/lib/awx/projects
|
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ Typical solutions are one of the following:
|
||||||
ee_resource_requirements: {} 👈👈👈
|
ee_resource_requirements: {} 👈👈👈
|
||||||
```
|
```
|
||||||
|
|
||||||
- You can specify more specific value for each containers. Refer [official documentation](https://github.com/ansible/awx-operator/blob/2.0.0/README.md#containers-resource-requirements) for details.
|
- You can specify more specific value for each containers. Refer [official documentation](https://github.com/ansible/awx-operator/blob/2.0.1/README.md#containers-resource-requirements) for details.
|
||||||
- In this way you can run AWX with fewer resources, but you may encounter performance issues.
|
- In this way you can run AWX with fewer resources, but you may encounter performance issues.
|
||||||
|
|
||||||
### The Pod is `Pending` with "1 pod has unbound immediate PersistentVolumeClaims." event
|
### The Pod is `Pending` with "1 pod has unbound immediate PersistentVolumeClaims." event
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,11 @@ Note that once you upgrade AWX Operator, your AWX will also be upgraded automati
|
||||||
|
|
||||||
- [✅ Take a backup of the old AWX instance](#-take-a-backup-of-the-old-awx-instance)
|
- [✅ Take a backup of the old AWX instance](#-take-a-backup-of-the-old-awx-instance)
|
||||||
- [📝 Upgrade from `0.14.0` or later (e.g. from `0.14.0` to `0.15.0`)](#-upgrade-from-0140-or-later-eg-from-0140-to-0150)
|
- [📝 Upgrade from `0.14.0` or later (e.g. from `0.14.0` to `0.15.0`)](#-upgrade-from-0140-or-later-eg-from-0140-to-0150)
|
||||||
|
- [⚠️ Note for upgrading from `2.0.0` to `2.0.1` or later](#️-note-for-upgrading-from-200-to-201-or-later)
|
||||||
|
- [⚠️ Note for upgrading from `0.25.0` or earlier to `0.26.0` or later](#️-note-for-upgrading-from-0250-or-earlier-to-0260-or-later)
|
||||||
|
- [📝 Procedure](#-procedure)
|
||||||
- [📝 Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`)](#-upgrade-from-0130-eg-from-0130-to-0140)
|
- [📝 Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`)](#-upgrade-from-0130-eg-from-0130-to-0140)
|
||||||
|
- [📝 Procedure](#-procedure-1)
|
||||||
- [📝 Upgrade from `0.12.0` or earlier (e.g. from `0.12.0` to `0.13.0`)](#-upgrade-from-0120-or-earlier-eg-from-0120-to-0130)
|
- [📝 Upgrade from `0.12.0` or earlier (e.g. from `0.12.0` to `0.13.0`)](#-upgrade-from-0120-or-earlier-eg-from-0120-to-0130)
|
||||||
- [❓ Troubleshooting](#-troubleshooting)
|
- [❓ Troubleshooting](#-troubleshooting)
|
||||||
- [New Pod gets stuck in `Pending` state](#new-pod-gets-stuck-in-pending-state)
|
- [New Pod gets stuck in `Pending` state](#new-pod-gets-stuck-in-pending-state)
|
||||||
|
|
@ -31,6 +35,21 @@ Refer [📝README: Backing up using AWX Operator](../README.md#backing-up-using-
|
||||||
|
|
||||||
If you are using AWX Operator `0.14.0` or later and want to upgrade to newer version, basically upgrade is done by deploying the new version of AWX Operator to the same namespace where the old AWX Operator is running.
|
If you are using AWX Operator `0.14.0` or later and want to upgrade to newer version, basically upgrade is done by deploying the new version of AWX Operator to the same namespace where the old AWX Operator is running.
|
||||||
|
|
||||||
|
### ⚠️ Note for upgrading from `2.0.0` to `2.0.1` or later
|
||||||
|
|
||||||
|
Note that only when upgrading **from `2.0.0` to `2.0.1` or later**, [the `extra_volumes` and `extra_volumes` in `base/awx.yaml` for `2.0.0` as a workaround for specific issue](https://github.com/kurokobo/awx-on-k3s/blob/2.0.0/base/awx.yaml#L42-L51) causes failure of upgrading.
|
||||||
|
|
||||||
|
To avoid this, follow these steps before upgrading AWX Operator. Steps 1 and 2 can also be achieved by `kubectl -n awx edit awx awx`.
|
||||||
|
|
||||||
|
1. Remove the definition of the volume and volume mount that named `awx-projects-web` in `extra_volumes` and `web_extra_volume_mounts` in your `base/awx.yaml`.
|
||||||
|
- If there are no other volumes or volume mounts, you can remove whole `extra_volumes` and `web_extra_volume_mounts`.
|
||||||
|
2. Apply modified `base/awx.yaml` by `kubectl apply -k base`
|
||||||
|
3. Wait for deployment for AWX to be completed
|
||||||
|
|
||||||
|
Once your AWX has been deployed without volume `awx-projects-web`, your AWX can be safely upgraded. Proceed to [the next step](#-procedure).
|
||||||
|
|
||||||
|
### ⚠️ Note for upgrading from `0.25.0` or earlier to `0.26.0` or later
|
||||||
|
|
||||||
Note that only when upgrading **from `0.25.0` or earlier to `0.26.0` or later**, since the bundled PostgreSQL version will be changed to 13, so the following additional tasks are required.
|
Note that only when upgrading **from `0.25.0` or earlier to `0.26.0` or later**, since the bundled PostgreSQL version will be changed to 13, so the following additional tasks are required.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -56,6 +75,8 @@ EOF
|
||||||
kubectl apply -f pv-postgres-13.yaml
|
kubectl apply -f pv-postgres-13.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 📝 Procedure
|
||||||
|
|
||||||
To upgrade your AWX Operator, perform following steps.
|
To upgrade your AWX Operator, perform following steps.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -109,6 +130,8 @@ In this guide, for example, perform upgrading from `0.13.0` to `0.14.0`. The AWX
|
||||||
| Before Upgrade | `0.13.0` in `default` namespace | `19.3.0` in `awx` namespace |
|
| Before Upgrade | `0.13.0` in `default` namespace | `19.3.0` in `awx` namespace |
|
||||||
| After Upgrade | `0.14.0` in `awx` namespace | `19.4.0` in `awx` namespace |
|
| After Upgrade | `0.14.0` in `awx` namespace | `19.4.0` in `awx` namespace |
|
||||||
|
|
||||||
|
### 📝 Procedure
|
||||||
|
|
||||||
To upgrade AWX Operator, remove the old AWX Operator that is running in the `default` namespace first. In addition, remove Service Account, Cluster Role, and Cluster Role Binding that are required for old AWX Operator to work.
|
To upgrade AWX Operator, remove the old AWX Operator that is running in the `default` namespace first. In addition, remove Service Account, Cluster Role, and Cluster Role Binding that are required for old AWX Operator to work.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
||||||
|
|
||||||
| AWX Operator | AWX |
|
| AWX Operator | AWX |
|
||||||
| - | - |
|
| - | - |
|
||||||
|
| 2.0.1 | 22.1.0 |
|
||||||
| 2.0.0 | 22.0.0 |
|
| 2.0.0 | 22.0.0 |
|
||||||
| 1.4.0 | 21.14.0 |
|
| 1.4.0 | 21.14.0 |
|
||||||
| 1.3.0 | 21.13.0 |
|
| 1.3.0 | 21.13.0 |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue