mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-16 05:52:15 +11:00
feat: bump operator version to 0.19.0
This commit is contained in:
parent
a8353120b6
commit
eaaf889041
16 changed files with 51 additions and 45 deletions
13
README.md
13
README.md
|
|
@ -27,9 +27,9 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
|||
|
||||
- Tested on:
|
||||
- CentOS Stream 8 (Minimal)
|
||||
- K3s v1.22.6+k3s1
|
||||
- K3s v1.22.7+k3s1
|
||||
- Products that will be deployed:
|
||||
- AWX Operator 0.18.0
|
||||
- AWX Operator 0.19.0
|
||||
- AWX 20.0.1
|
||||
- PostgreSQL 12
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
|||
|
||||
- [K3s - Lightweight Kubernetes](https://rancher.com/docs/k3s/latest/en/)
|
||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/20.0.1/INSTALL.md) @20.0.1
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/0.18.0/README.md) @0.18.0
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/0.19.0/README.md) @0.19.0
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
@ -83,7 +83,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 0.18.0
|
||||
git checkout 0.19.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`.
|
||||
|
|
@ -139,7 +139,7 @@ spec:
|
|||
...
|
||||
```
|
||||
|
||||
Modify two `password`s in `base/kustomization.yaml`. Note that some special charactors like `&`, `$`, etc. in `password` under `awx-postgres-configuration` might cause the deployment issue. Not tested all charactors, but `!` is safe to use at least.
|
||||
Modify two `password`s in `base/kustomization.yaml`. Note that the `password` under `awx-postgres-configuration` should not contain single or double quotes (`'`, `"`) or backslashes (`\`) to avoid any issues during deployment, backup or restoration.
|
||||
|
||||
```yaml
|
||||
...
|
||||
|
|
@ -190,8 +190,7 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
...
|
||||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=65 changed=0 unreachable=0 failed=0 skipped=43 rescued=0 ignored=0
|
||||
----------
|
||||
localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=43 rescued=0 ignored=0
|
||||
```
|
||||
|
||||
Required objects has been deployed next to AWX Operator in `awx` namespace.
|
||||
|
|
|
|||
|
|
@ -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.7.1/cert-manager.yaml
|
||||
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.2/cert-manager.yaml
|
||||
```
|
||||
|
||||
Ensure the pods in `cert-manager` namespace are running.
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWXBackup, awxbackup-2021-06-06/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=7 rescued=0 ignored=0
|
||||
----------
|
||||
```
|
||||
|
||||
This will create AWXBackup object in the namespace and also create backup files in the Persistent Volume. In this example those files are available at `/data/backup`.
|
||||
|
|
|
|||
|
|
@ -30,7 +30,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/0.18.0/roles/backup) for acceptable fields. | `{'deployment_name':'awx','backup_pvc':'awx-backup-claim'}` |
|
||||
| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/0.19.0/roles/backup) for acceptable fields. | `{'deployment_name':'awx','backup_pvc':'awx-backup-claim'}` |
|
||||
| `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. **Note that the actual backup data will remain in the PVC after the `AWXBackup` resource is deleted.** | `30` |
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ metadata:
|
|||
name: awx
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - AWX Operator: 0.18.0
|
||||
# https://github.com/ansible/awx-operator/blob/0.18.0/README.md
|
||||
# - AWX Operator: 0.19.0
|
||||
# https://github.com/ansible/awx-operator/blob/0.19.0/README.md
|
||||
# - AWX: 20.0.1
|
||||
# https://github.com/ansible/awx/blob/20.0.1/INSTALL.md
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ This repository includes ready-to-use files as an example to use Ansible Builder
|
|||
- CentOS Stream 8 (Minimal)
|
||||
- Python 3.9
|
||||
- Docker 20.10.12
|
||||
- Ansible Builder 1.0.1
|
||||
|
||||
## Install
|
||||
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ There is a Kubernetes Operator for Pulp 3 named Pulp Operator.
|
|||
|
||||
- [pulp/pulp-operator: Kubernetes Operator for Pulp 3](https://github.com/pulp/pulp-operator)
|
||||
|
||||
This project is still under active development and there is no support, however, at least the code to create a new instance seems to be implemented. In this procedure, we use [Pulp Operator 0.7.1](https://github.com/pulp/pulp-operator/tree/0.7.1)
|
||||
This project is still under active development and there is no support, however, at least the code to create a new instance seems to be implemented. In this procedure, we use [Pulp Operator 0.8.0](https://github.com/pulp/pulp-operator/tree/0.8.0)
|
||||
|
||||
### Patch K3s
|
||||
|
||||
|
|
@ -208,7 +208,7 @@ Install specified version of Pulp Operator.
|
|||
cd ~
|
||||
git clone https://github.com/pulp/pulp-operator.git
|
||||
cd pulp-operator
|
||||
git checkout 0.7.1
|
||||
git checkout 0.8.0
|
||||
```
|
||||
|
||||
Export the name of the namespace where you want to deploy Pulp Operator as the environment variable `NAMESPACE` and run `make deploy`. The default namespace is `pulp-operator-system`.
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@ metadata:
|
|||
name: galaxy
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - Pulp Operator: 0.7.1
|
||||
# https://github.com/pulp/pulp-operator/blob/0.7.1/README.md
|
||||
# - Galaxy NG: 4.4.1
|
||||
# https://github.com/ansible/galaxy_ng/tree/4.4.1
|
||||
# - Pulp Operator: 0.8.0
|
||||
# https://github.com/pulp/pulp-operator/blob/0.8.0/README.md
|
||||
# - Galaxy NG: 4.4.2
|
||||
# https://github.com/ansible/galaxy_ng/tree/4.4.2
|
||||
|
||||
image: quay.io/pulp/galaxy
|
||||
image_version: 4.4.1
|
||||
image_version: 4.4.2
|
||||
image_web: quay.io/pulp/galaxy-web
|
||||
image_web_version: 4.4.1
|
||||
image_web_version: 4.4.2
|
||||
|
||||
admin_password_secret: galaxy-admin-password
|
||||
|
||||
|
|
|
|||
|
|
@ -53,18 +53,21 @@ kubectl apply -k git
|
|||
Required resources has been deployed in `git` namespace.
|
||||
|
||||
```bash
|
||||
$ kubectl -n git get all
|
||||
$ kubectl -n git get all,ingress
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
pod/git-576868dc5b-z7z55 1/1 Running 0 31s
|
||||
pod/git-dc5d76bdb-xpl62 1/1 Running 0 11s
|
||||
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
service/git-service ClusterIP 10.43.192.81 <none> 3000/TCP,22/TCP 31s
|
||||
service/git-service ClusterIP 10.43.64.160 <none> 3000/TCP,22/TCP 11s
|
||||
|
||||
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||
deployment.apps/git 1/1 1 1 31s
|
||||
deployment.apps/git 1/1 1 1 11s
|
||||
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
replicaset.apps/git-576868dc5b 1 1 1 31s
|
||||
replicaset.apps/git-dc5d76bdb 1 1 1 11s
|
||||
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
ingress.networking.k8s.io/git-ingress <none> git.example.com 192.168.0.100 80, 443 11s
|
||||
```
|
||||
|
||||
Now your Git repository is accesible through `https://git.example.com/` or the hostname you specified. Visit the URL and follow the installation wizard.
|
||||
|
|
|
|||
|
|
@ -73,18 +73,21 @@ kubectl apply -k registry
|
|||
Required resources has been deployed in `registry` namespace.
|
||||
|
||||
```bash
|
||||
$ kubectl -n registry get all
|
||||
$ kubectl -n registry get all,ingress
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
pod/registry-5b4f874b77-9gb64 1/1 Running 0 27s
|
||||
pod/registry-756d57bfd-khln6 1/1 Running 0 9s
|
||||
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
service/registry-service ClusterIP 10.43.50.156 <none> 5000/TCP 28s
|
||||
service/registry-service ClusterIP 10.43.183.177 <none> 5000/TCP 9s
|
||||
|
||||
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||
deployment.apps/registry 1/1 1 1 27s
|
||||
deployment.apps/registry 1/1 1 1 9s
|
||||
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
replicaset.apps/registry-5b4f874b77 1 1 1 27s
|
||||
replicaset.apps/registry-756d57bfd 1 1 1 9s
|
||||
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
ingress.networking.k8s.io/registry-ingress <none> registry.example.com 192.168.0.100 80, 443 9s
|
||||
```
|
||||
|
||||
Now your container registry can be used through `registry.example.com` or the hostname you specified.
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: registry
|
||||
image: registry:2.7
|
||||
image: registry:2.8
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
protocol: TCP
|
||||
|
|
|
|||
|
|
@ -92,8 +92,7 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
...
|
||||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=67 changed=0 unreachable=0 failed=0 skipped=41 rescued=0 ignored=0
|
||||
----------
|
||||
localhost : ok=68 changed=0 unreachable=0 failed=0 skipped=41 rescued=0 ignored=0
|
||||
```
|
||||
|
||||
This will create AWXRestore object in the namespace, and now your AWX is restored.
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ This repository includes ready-to-use files as an example to run Ansible Runner.
|
|||
- CentOS Stream 8 (Minimal)
|
||||
- Python 3.9
|
||||
- Docker 20.10.12
|
||||
- Ansible Runner 2.1.3
|
||||
|
||||
## Install
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,6 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=54 changed=0 unreachable=0 failed=0 skipped=37 rescued=0 ignored=0
|
||||
----------
|
||||
```
|
||||
|
||||
You can confirm that the annotations will be added to the Ingress resource.
|
||||
|
|
@ -120,7 +119,6 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=54 changed=0 unreachable=0 failed=0 skipped=37 rescued=0 ignored=0
|
||||
----------
|
||||
```
|
||||
|
||||
You can confirm that the annotations will be added to the Ingress resource.
|
||||
|
|
|
|||
|
|
@ -153,7 +153,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/0.18.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/0.19.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
|
||||
|
|
@ -222,6 +222,11 @@ kubectl -n awx logs -f deployment/awx -c awx-web
|
|||
[wait-for-migrations] Attempt 4 of 30
|
||||
[wait-for-migrations] Waiting 4 seconds before next attempt
|
||||
...
|
||||
[wait-for-migrations] Attempt 28 of 30
|
||||
[wait-for-migrations] Waiting 30 seconds before next attempt
|
||||
[wait-for-migrations] Attempt 29 of 30
|
||||
[wait-for-migrations] Waiting 30 seconds before next attempt
|
||||
...
|
||||
```
|
||||
|
||||
This problem occurs when the AWX pod and the PostgreSQL pod cannot communicate properly. In most cases, the cause of this is the network on your K3s.
|
||||
|
|
@ -231,7 +236,6 @@ To solve this, check or try the following:
|
|||
- Ensure your PostgreSQL (typically the Pod named `awx-postgres-0`) is in `Running` state.
|
||||
- Ensure your `firewalld`, `ufw` or any kind of firewall has been disabled on your K3s host.
|
||||
- Ensure your `awx-postgres-configuration` has correct values, especially if you're using external PostgreSQL.
|
||||
- Ensure your `password` in `awx-postgres-configuration` does not contain any special charactors like '&', '$', etc..
|
||||
- Uninstall K3s and install it again.
|
||||
|
||||
### The Pod for PostgreSQL is in `CrashLoopBackOff` state and shows "Permission denied" log
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ Note that once you upgrade AWX Operator, your AWX will also be upgraded automati
|
|||
|
||||
| AWX Operator | AWX |
|
||||
| - | - |
|
||||
| 0.19.0 | 20.0.1 |
|
||||
| 0.18.0 | 20.0.1 |
|
||||
| 0.17.0 | 20.0.0 |
|
||||
| 0.16.1 | 19.5.1 |
|
||||
|
|
@ -75,7 +76,6 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=56 changed=0 unreachable=0 failed=0 skipped=35 rescued=0 ignored=0
|
||||
----------
|
||||
```
|
||||
|
||||
## 📝 Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`)
|
||||
|
|
@ -132,7 +132,6 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager -c awx-mana
|
|||
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=56 changed=0 unreachable=0 failed=0 skipped=35 rescued=0 ignored=0
|
||||
----------
|
||||
```
|
||||
|
||||
## 📝 Upgrade from `0.12.0` or earlier (e.g. from `0.12.0` to `0.13.0`)
|
||||
|
|
|
|||
Loading…
Reference in a new issue