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

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