feat: bump operator version to 0.19.0

This commit is contained in:
kurokobo 2022-03-24 21:55:33 +09:00
parent a8353120b6
commit eaaf889041
16 changed files with 51 additions and 45 deletions

View file

@ -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.

View file

@ -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.

View file

@ -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`.

View file

@ -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` |

View file

@ -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

View file

@ -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

View file

@ -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`.

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -17,7 +17,7 @@ spec:
spec:
containers:
- name: registry
image: registry:2.7
image: registry:2.8
ports:
- containerPort: 5000
protocol: TCP

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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,16 +222,20 @@ 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.
To solve this, check or try the following:
- Ensure your PostgreSQL (typically the Pod named `awx-postgres-0`)is in `Running` state.
- 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

View file

@ -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`)