mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-15 21:42:15 +11:00
feat: bump operator version to 1.1.0
This commit is contained in:
parent
dfa3f7422e
commit
49aa0b3551
12 changed files with 37 additions and 36 deletions
24
README.md
24
README.md
|
|
@ -31,15 +31,15 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
|||
- CentOS Stream 8 (Minimal)
|
||||
- K3s v1.25.3+k3s1
|
||||
- Products that will be deployed:
|
||||
- AWX Operator 1.0.0
|
||||
- AWX 21.8.0
|
||||
- AWX Operator 1.1.0
|
||||
- AWX 21.9.0
|
||||
- PostgreSQL 13
|
||||
|
||||
## References
|
||||
|
||||
- [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
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/1.0.0/README.md) @1.0.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.1.0/README.md) @1.1.0
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ Install specified version of AWX Operator. Note that this procedure is applicabl
|
|||
cd ~
|
||||
git clone https://github.com/ansible/awx-operator.git
|
||||
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`.
|
||||
|
|
@ -127,7 +127,7 @@ If you want to use files suitable for the specific version of AWX Operator, [ref
|
|||
cd ~
|
||||
git clone https://github.com/kurokobo/awx-on-k3s.git
|
||||
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.
|
||||
|
|
@ -190,13 +190,13 @@ kubectl apply -k base
|
|||
To monitor the progress of the deployment, check the logs of `deployments/awx-operator-controller-manager`:
|
||||
|
||||
```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:
|
||||
|
||||
```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) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
|
|
@ -231,19 +231,19 @@ replicaset.apps/awx-5b859c644 1 1
|
|||
NAME READY AGE
|
||||
statefulset.apps/awx-postgres-13 1/1 4m46s
|
||||
|
||||
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
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
ingress.networking.k8s.io/awx-ingress <none> awx.example.com 192.168.0.219 80, 443 4m27s
|
||||
|
||||
NAME TYPE DATA AGE
|
||||
secret/awx-admin-password Opaque 1 5m
|
||||
secret/awx-postgres-configuration Opaque 6 5m
|
||||
secret/awx-secret-tls kubernetes.io/tls 2 3m54s
|
||||
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-secret-key Opaque 1 4m55s
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ This guide does not provide any information how to configure Azure, other DNS se
|
|||
Deploy cert-manager first.
|
||||
|
||||
```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.
|
||||
|
|
|
|||
|
|
@ -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`:
|
||||
|
||||
```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:
|
||||
|
||||
```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) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
|
|
|
|||
|
|
@ -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/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_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,10 @@ metadata:
|
|||
name: awx
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - AWX Operator: 1.0.0
|
||||
# https://github.com/ansible/awx-operator/blob/1.0.0/README.md
|
||||
# - AWX: 21.8.0
|
||||
# https://github.com/ansible/awx/blob/21.8.0/INSTALL.md
|
||||
# - AWX Operator: 1.1.0
|
||||
# https://github.com/ansible/awx-operator/blob/1.1.0/README.md
|
||||
# - AWX: 21.9.0
|
||||
# https://github.com/ansible/awx/blob/21.9.0/INSTALL.md
|
||||
|
||||
admin_user: admin
|
||||
admin_password_secret: awx-admin-password
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ deployment.apps/git 1/1 1 1 9s
|
|||
NAME DESIRED CURRENT READY AGE
|
||||
replicaset.apps/git-56cc958f9 1 1 1 9s
|
||||
|
||||
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
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Deploying your private container registry on your K3s to use with AWX.
|
|||
|
||||
- [Procedure](#procedure)
|
||||
- [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)
|
||||
- [Testing with Docker](#testing-with-docker)
|
||||
- [Digging into the Registry](#digging-into-the-registry)
|
||||
|
|
@ -86,8 +86,8 @@ deployment.apps/registry 1/1 1 1 9s
|
|||
NAME DESIRED CURRENT READY AGE
|
||||
replicaset.apps/registry-7457f6c64b 1 1 1 9s
|
||||
|
||||
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
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -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`:
|
||||
|
||||
```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:
|
||||
|
||||
```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) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ awx.awx.ansible.com/awx configured 👈👈👈
|
|||
Once this completed, the logs of `deployments/awx-operator-controller-manager` end with:
|
||||
|
||||
```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) -----
|
||||
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:
|
||||
|
||||
```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) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
|
|
|
|||
|
|
@ -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 `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 `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)
|
||||
- [Troubles during Daily Use](#troubles-during-daily-use)
|
||||
- [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.
|
||||
|
||||
- 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
|
||||
- `kubectl -n awx logs -f deployment/awx -c awx-web`
|
||||
- `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.
|
||||
|
||||
```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] ********************************
|
||||
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: {} 👈👈👈
|
||||
```
|
||||
|
||||
- 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.
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
### 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.
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
```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`.
|
||||
|
|
|
|||
|
|
@ -121,5 +121,5 @@ kubectl apply -k base
|
|||
You can monitor the progress of the re-deployment by following command:
|
||||
|
||||
```bash
|
||||
kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-manager
|
||||
kubectl -n awx logs -f deployments/awx-operator-controller-manager
|
||||
```
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
|||
|
||||
| AWX Operator | AWX |
|
||||
| - | - |
|
||||
| 1.1.0 | 21.9.0 |
|
||||
| 1.0.0 | 21.8.0 |
|
||||
| 0.30.0 | 21.7.0 |
|
||||
| 0.29.0 | 21.6.0 |
|
||||
|
|
|
|||
Loading…
Reference in a new issue