Merge pull request #150 from kurokobo/awx-1.1.0

feat: bump operator version to 1.1.0
This commit is contained in:
kurokobo 2022-11-22 07:19:00 +09:00 committed by GitHub
commit 0b98d1be3a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 37 additions and 36 deletions

View file

@ -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.25.3+k3s1 - K3s v1.25.3+k3s1
- Products that will be deployed: - Products that will be deployed:
- AWX Operator 1.0.0 - AWX Operator 1.1.0
- AWX 21.8.0 - AWX 21.9.0
- PostgreSQL 13 - PostgreSQL 13
## References ## References
- [K3s - Lightweight Kubernetes](https://rancher.com/docs/k3s/latest/en/) - [K3s - Lightweight Kubernetes](https://rancher.com/docs/k3s/latest/en/)
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/21.8.0/INSTALL.md) @21.8.0 - [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/21.9.0/INSTALL.md) @21.9.0
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/1.0.0/README.md) @1.0.0 - [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/1.1.0/README.md) @1.1.0
## 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 1.0.0 git checkout 1.1.0
``` ```
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 1.0.0 git checkout 1.1.0
``` ```
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.
@ -190,13 +190,13 @@ kubectl apply -k base
To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`: To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`:
```bash ```bash
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager kubectl -n awx logs -f deployments/awx-operator-controller-manager
``` ```
When the deployment completes successfully, the logs end with: When the deployment completes successfully, the logs end with:
```txt ```txt
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
... ...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) ----- ----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************
@ -232,18 +232,18 @@ NAME READY AGE
statefulset.apps/awx-postgres-13 1/1 4m46s statefulset.apps/awx-postgres-13 1/1 4m46s
NAME CLASS HOSTS ADDRESS PORTS AGE NAME CLASS HOSTS ADDRESS PORTS AGE
ingress.networking.k8s.io/awx-ingress <none> awx.example.com 192.168.0.219,2400:4050:a8e2:a00:250:56ff:fe86:454d 80, 443 4m27s ingress.networking.k8s.io/awx-ingress <none> awx.example.com 192.168.0.219 80, 443 4m27s
NAME TYPE DATA AGE NAME TYPE DATA AGE
secret/awx-admin-password Opaque 1 5m secret/awx-admin-password Opaque 1 5m
secret/awx-postgres-configuration Opaque 6 5m secret/awx-postgres-configuration Opaque 6 5m
secret/awx-secret-tls kubernetes.io/tls 2 3m54s secret/awx-secret-tls kubernetes.io/tls 2 3m54s
secret/redhat-operators-pull-secret Opaque 1 4m30s secret/redhat-operators-pull-secret Opaque 1 4m30s
secret/awx-receptor-ca Opaque 2 4m26s
secret/awx-receptor-work-signing Opaque 2 4m29s
secret/awx-app-credentials Opaque 3 4m30s secret/awx-app-credentials Opaque 3 4m30s
secret/awx-secret-key Opaque 1 4m55s secret/awx-secret-key Opaque 1 4m55s
secret/awx-broadcast-websocket Opaque 1 4m52s secret/awx-broadcast-websocket Opaque 1 4m52s
secret/awx-receptor-ca Opaque 2 4m26s
secret/awx-receptor-work-signing Opaque 2 4m29s
``` ```
Now your AWX is available at `https://awx.example.com/` or the hostname you specified. Now your AWX is available at `https://awx.example.com/` or the hostname you specified.

View file

@ -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.10.0/cert-manager.yaml kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.10.1/cert-manager.yaml
``` ```
Ensure the pods in `cert-manager` namespace are running. Ensure the pods in `cert-manager` namespace are running.

View file

@ -53,13 +53,13 @@ kubectl apply -f backup/awxbackup.yaml
To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`: To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`:
```bash ```bash
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager kubectl -n awx logs -f deployments/awx-operator-controller-manager
``` ```
When the backup completes successfully, the logs end with: When the backup completes successfully, the logs end with:
```txt ```txt
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
... ...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWXBackup, awxbackup-2021-06-06/awx) ----- ----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWXBackup, awxbackup-2021-06-06/awx) -----
PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************

View file

@ -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/1.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/1.1.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_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` |

View file

@ -5,10 +5,10 @@ metadata:
name: awx name: awx
spec: spec:
# These parameters are designed for use with: # These parameters are designed for use with:
# - AWX Operator: 1.0.0 # - AWX Operator: 1.1.0
# https://github.com/ansible/awx-operator/blob/1.0.0/README.md # https://github.com/ansible/awx-operator/blob/1.1.0/README.md
# - AWX: 21.8.0 # - AWX: 21.9.0
# https://github.com/ansible/awx/blob/21.8.0/INSTALL.md # https://github.com/ansible/awx/blob/21.9.0/INSTALL.md
admin_user: admin admin_user: admin
admin_password_secret: awx-admin-password admin_password_secret: awx-admin-password

View file

@ -67,7 +67,7 @@ NAME DESIRED CURRENT READY AGE
replicaset.apps/git-56cc958f9 1 1 1 9s replicaset.apps/git-56cc958f9 1 1 1 9s
NAME CLASS HOSTS ADDRESS PORTS AGE NAME CLASS HOSTS ADDRESS PORTS AGE
ingress.networking.k8s.io/git-ingress <none> git.example.com 192.168.0.219,2400:4050:a8e2:a00:250:56ff:fe86:454d 80, 443 9s ingress.networking.k8s.io/git-ingress <none> git.example.com 192.168.0.219 80, 443 9s
``` ```
Now your Git repository is accessible through `https://git.example.com/` or the hostname you specified. Visit the URL and follow the installation wizard. Now your Git repository is accessible through `https://git.example.com/` or the hostname you specified. Visit the URL and follow the installation wizard.

View file

@ -8,7 +8,7 @@ Deploying your private container registry on your K3s to use with AWX.
- [Procedure](#procedure) - [Procedure](#procedure)
- [Prepare required files](#prepare-required-files) - [Prepare required files](#prepare-required-files)
- [Deploy Private Container Registry](#deploy-private-container-registry) - [Deploy Private Container Registry](#deploy-private-container-registry-1)
- [Quick Testing](#quick-testing) - [Quick Testing](#quick-testing)
- [Testing with Docker](#testing-with-docker) - [Testing with Docker](#testing-with-docker)
- [Digging into the Registry](#digging-into-the-registry) - [Digging into the Registry](#digging-into-the-registry)
@ -87,7 +87,7 @@ NAME DESIRED CURRENT READY AGE
replicaset.apps/registry-7457f6c64b 1 1 1 9s replicaset.apps/registry-7457f6c64b 1 1 1 9s
NAME CLASS HOSTS ADDRESS PORTS AGE NAME CLASS HOSTS ADDRESS PORTS AGE
ingress.networking.k8s.io/registry-ingress <none> registry.example.com 192.168.0.219,2400:4050:a8e2:a00:250:56ff:fe86:454d 80, 443 ingress.networking.k8s.io/registry-ingress <none> registry.example.com 192.168.0.219 80, 443
``` ```
Now your container registry can be used through `registry.example.com` or the hostname you specified. Now your container registry can be used through `registry.example.com` or the hostname you specified.

View file

@ -90,13 +90,13 @@ kubectl apply -f restore/awxrestore.yaml
To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`: To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`:
```bash ```bash
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager kubectl -n awx logs -f deployments/awx-operator-controller-manager
``` ```
When the restore complete successfully, the logs end with: When the restore complete successfully, the logs end with:
```txt ```txt
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
... ...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) ----- ----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************

View file

@ -83,7 +83,7 @@ awx.awx.ansible.com/awx configured 👈👈👈
Once this completed, the logs of `deployments/awx-operator-controller-manager` end with: Once this completed, the logs of `deployments/awx-operator-controller-manager` end with:
```txt ```txt
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager --tail=100 $ kubectl -n awx logs -f deployments/awx-operator-controller-manager --tail=100
... ...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) ----- ----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************
@ -114,7 +114,7 @@ kubectl -n awx patch awx awx --type=merge \
Once this completed, the logs of `deployments/awx-operator-controller-manager` end with: Once this completed, the logs of `deployments/awx-operator-controller-manager` end with:
```txt ```txt
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager --tail=100 $ kubectl -n awx logs -f deployments/awx-operator-controller-manager --tail=100
... ...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) ----- ----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************

View file

@ -14,7 +14,7 @@ Some hints and guides for when you got stuck during deployment and daily use of
- [The Pod is `ErrImagePull` with "429 Too Many Requests"](#the-pod-is-errimagepull-with-429-too-many-requests) - [The Pod is `ErrImagePull` with "429 Too Many Requests"](#the-pod-is-errimagepull-with-429-too-many-requests)
- [The Pod is `Pending` with "1 Insufficient cpu, 1 Insufficient memory." event](#the-pod-is-pending-with-1-insufficient-cpu-1-insufficient-memory-event) - [The Pod is `Pending` with "1 Insufficient cpu, 1 Insufficient memory." event](#the-pod-is-pending-with-1-insufficient-cpu-1-insufficient-memory-event)
- [The Pod is `Pending` with "1 pod has unbound immediate PersistentVolumeClaims." event](#the-pod-is-pending-with-1-pod-has-unbound-immediate-persistentvolumeclaims-event) - [The Pod is `Pending` with "1 pod has unbound immediate PersistentVolumeClaims." event](#the-pod-is-pending-with-1-pod-has-unbound-immediate-persistentvolumeclaims-event)
- [The Pod is `Running` but stucked with "[wait-for-migrations] Waiting for database migrations..." message](#the-pod-is-running-but-stucked-with-wait-for-migrations-waiting-for-database-migrations-message) - [The Pod is `Running` but stucked with "wait-for-migrations" message](#the-pod-is-running-but-stucked-with-wait-for-migrations-message)
- [The Pod for PostgreSQL is in `CrashLoopBackOff` state and shows "Permission denied" log](#the-pod-for-postgresql-is-in-crashloopbackoff-state-and-shows-permission-denied-log) - [The Pod for PostgreSQL is in `CrashLoopBackOff` state and shows "Permission denied" log](#the-pod-for-postgresql-is-in-crashloopbackoff-state-and-shows-permission-denied-log)
- [Troubles during Daily Use](#troubles-during-daily-use) - [Troubles during Daily Use](#troubles-during-daily-use)
- [Job failed with no output](#job-failed-with-no-output) - [Job failed with no output](#job-failed-with-no-output)
@ -94,7 +94,7 @@ kubectl -n awx logs -f statefulset/<Deployment Name> -c <Container Name>
For AWX Operator and AWX, specifically, the following commands are helpful. For AWX Operator and AWX, specifically, the following commands are helpful.
- Logs of AWX Operator - Logs of AWX Operator
- `kubectl -n awx logs -f deployment/awx-operator-controller-manager -c awx-manager` - `kubectl -n awx logs -f deployment/awx-operator-controller-manager`
- Logs of AWX related containers - Logs of AWX related containers
- `kubectl -n awx logs -f deployment/awx -c awx-web` - `kubectl -n awx logs -f deployment/awx -c awx-web`
- `kubectl -n awx logs -f deployment/awx -c awx-task` - `kubectl -n awx logs -f deployment/awx -c awx-task`
@ -108,7 +108,7 @@ For AWX Operator and AWX, specifically, the following commands are helpful.
If you've found the `FAILED` tasks while investigating AWX Operator's log, sadly sometimes it's marked as `censored` and you can't get actual log. If you've found the `FAILED` tasks while investigating AWX Operator's log, sadly sometimes it's marked as `censored` and you can't get actual log.
```bash ```bash
$ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
... ...
TASK [Restore database dump to the new postgresql container] ******************************** TASK [Restore database dump to the new postgresql container] ********************************
fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
@ -179,7 +179,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/1.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/1.1.0/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
@ -232,7 +232,7 @@ To solve this, typical solutions are one of the following:
kubectl apply -k base kubectl apply -k base
``` ```
### The Pod is `Running` but stucked with "[wait-for-migrations] Waiting for database migrations..." message ### The Pod is `Running` but stucked with "wait-for-migrations" message
Sometimes your AWX pod is `Running` state correctly but not functional at all, and its log shows following message repeatedly. Sometimes your AWX pod is `Running` state correctly but not functional at all, and its log shows following message repeatedly.
@ -392,7 +392,7 @@ kubectl apply -k base
You can watch its progress by following command as did when you deploy AWX at the first time. You can watch its progress by following command as did when you deploy AWX at the first time.
```bash ```bash
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager kubectl -n awx logs -f deployments/awx-operator-controller-manager
``` ```
Alternatively you can modify this settings via AWX UI. Move on to `Settings` > `Miscellaneous System settings` > `Edit` page, then and put following JSON strings as `Remote Host Headers`. Alternatively you can modify this settings via AWX UI. Move on to `Settings` > `Miscellaneous System settings` > `Edit` page, then and put following JSON strings as `Remote Host Headers`.

View file

@ -121,5 +121,5 @@ kubectl apply -k base
You can monitor the progress of the re-deployment by following command: You can monitor the progress of the re-deployment by following command:
```bash ```bash
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager kubectl -n awx logs -f deployments/awx-operator-controller-manager
``` ```

View file

@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
| AWX Operator | AWX | | AWX Operator | AWX |
| - | - | | - | - |
| 1.1.0 | 21.9.0 |
| 1.0.0 | 21.8.0 | | 1.0.0 | 21.8.0 |
| 0.30.0 | 21.7.0 | | 0.30.0 | 21.7.0 |
| 0.29.0 | 21.6.0 | | 0.29.0 | 21.6.0 |