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.4
This commit is contained in:
parent
b6f644a8cd
commit
fdd6599227
15 changed files with 44 additions and 31 deletions
16
README.md
16
README.md
|
|
@ -29,17 +29,17 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
||||||
|
|
||||||
- Tested on:
|
- Tested on:
|
||||||
- CentOS Stream 8 (Minimal)
|
- CentOS Stream 8 (Minimal)
|
||||||
- K3s v1.25.4+k3s1
|
- K3s v1.25.5+k3s2
|
||||||
- Products that will be deployed:
|
- Products that will be deployed:
|
||||||
- AWX Operator 1.1.3
|
- AWX Operator 1.1.4
|
||||||
- AWX 21.10.2
|
- AWX 21.11.0
|
||||||
- PostgreSQL 13
|
- PostgreSQL 13
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
||||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/21.10.2/INSTALL.md) @21.10.2
|
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/21.11.0/INSTALL.md) @21.11.0
|
||||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/1.1.3/README.md) @1.1.3
|
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/1.1.4/README.md) @1.1.4
|
||||||
|
|
||||||
## 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.1.3
|
git checkout 1.1.4
|
||||||
```
|
```
|
||||||
|
|
||||||
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.1.3
|
git checkout 1.1.4
|
||||||
```
|
```
|
||||||
|
|
||||||
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.
|
||||||
|
|
@ -200,7 +200,7 @@ $ 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 *********************************************************************
|
||||||
localhost : ok=77 changed=0 unreachable=0 failed=0 skipped=68 rescued=0 ignored=1
|
localhost : ok=77 changed=0 unreachable=0 failed=0 skipped=69 rescued=0 ignored=1
|
||||||
```
|
```
|
||||||
|
|
||||||
Required objects has been deployed next to AWX Operator in `awx` namespace.
|
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.
|
Deploy cert-manager first.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.10.1/cert-manager.yaml
|
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.0/cert-manager.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
Ensure the pods in `cert-manager` namespace are running.
|
Ensure the pods in `cert-manager` namespace are running.
|
||||||
|
|
|
||||||
|
|
@ -81,9 +81,9 @@ drwxr-xr-x. 2 root root 59 Jun 5 06:51 tower-openshift-backup-2021-06-06-10:51:
|
||||||
|
|
||||||
$ ls -l /data/backup/tower-openshift-backup-2021-06-06-10\:51\:49/
|
$ ls -l /data/backup/tower-openshift-backup-2021-06-06-10\:51\:49/
|
||||||
total 736
|
total 736
|
||||||
-rw-r--r--. 1 root root 749 Jun 6 06:51 awx_object
|
-rw-r--r--. 1 root 749 Jun 6 06:51 awx_object
|
||||||
-rw-r--r--. 1 root root 482 Jun 6 06:51 secrets.yml
|
-rw-r--r--. 1 root 482 Jun 6 06:51 secrets.yml
|
||||||
-rw-------. 1 systemd-coredump root 745302 Jun 6 06:51 tower.db
|
-rw-rw----. 1 root root 745302 Jun 6 06:51 tower.db
|
||||||
```
|
```
|
||||||
|
|
||||||
## Appendix: Back up AWX using Ansible
|
## Appendix: Back up AWX using Ansible
|
||||||
|
|
|
||||||
|
|
@ -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.1.3/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.4/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` |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.1.3
|
# - AWX Operator: 1.1.4
|
||||||
# https://github.com/ansible/awx-operator/blob/1.1.3/README.md
|
# https://github.com/ansible/awx-operator/blob/1.1.4/README.md
|
||||||
# - AWX: 21.10.2
|
# - AWX: 21.11.0
|
||||||
# https://github.com/ansible/awx/blob/21.10.2/INSTALL.md
|
# https://github.com/ansible/awx/blob/21.11.0/INSTALL.md
|
||||||
|
|
||||||
admin_user: admin
|
admin_user: admin
|
||||||
admin_password_secret: awx-admin-password
|
admin_password_secret: awx-admin-password
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,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)
|
- [pulp/pulp-operator: Kubernetes Operator for Pulp 3](https://github.com/pulp/pulp-operator)
|
||||||
|
|
||||||
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-alpha.4](https://github.com/pulp/pulp-operator/tree/1.0.0-alpha.4).
|
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-alpha.5](https://github.com/pulp/pulp-operator/tree/1.0.0-alpha.5).
|
||||||
|
|
||||||
### Install Pulp Operator
|
### Install Pulp Operator
|
||||||
|
|
||||||
|
|
@ -199,7 +199,7 @@ Install specified version of Pulp Operator.
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/pulp/pulp-operator.git
|
git clone https://github.com/pulp/pulp-operator.git
|
||||||
cd pulp-operator
|
cd pulp-operator
|
||||||
git checkout 1.0.0-alpha.4
|
git checkout 1.0.0-alpha.5
|
||||||
```
|
```
|
||||||
|
|
||||||
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`. Note that `make deploy` requires `go` binary by default but you can remove this dependency by small `sed` patch.
|
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`. Note that `make deploy` requires `go` binary by default but you can remove this dependency by small `sed` patch.
|
||||||
|
|
@ -308,8 +308,8 @@ When the deployment completes successfully, the logs end with:
|
||||||
```txt
|
```txt
|
||||||
$ kubectl -n galaxy logs -f deployments/pulp-operator-controller-manager
|
$ kubectl -n galaxy logs -f deployments/pulp-operator-controller-manager
|
||||||
...
|
...
|
||||||
2006-01-02T15:04:05Z INFO repo_manager/status.go:133 galaxy operator finished execution ...
|
2006-01-02T15:04:05Z INFO repo_manager/status.go:146 galaxy operator finished execution ...
|
||||||
2006-01-02T15:04:05Z INFO repo_manager/controller.go:336 Operator tasks synced
|
2006-01-02T15:04:05Z INFO repo_manager/controller.go:320 Operator tasks synced
|
||||||
```
|
```
|
||||||
|
|
||||||
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@ secretGenerator:
|
||||||
- tls.crt
|
- tls.crt
|
||||||
- tls.key
|
- tls.key
|
||||||
|
|
||||||
|
images:
|
||||||
|
- name: pulp/pulp-galaxy-ng
|
||||||
|
newTag: latest
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- pv.yaml
|
- pv.yaml
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,17 @@ metadata:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
spec:
|
spec:
|
||||||
# These parameters are designed for use with:
|
# These parameters are designed for use with:
|
||||||
# - Pulp Operator: 1.0.0-alpha.4
|
# - Pulp Operator: 1.0.0-alpha.5
|
||||||
# https://github.com/pulp/pulp-operator/blob/1.0.0-alpha.4/README.md
|
# https://github.com/pulp/pulp-operator/blob/1.0.0-alpha.5/README.md
|
||||||
# - Galaxy NG: 4.5.2
|
# - Galaxy NG: 4.6.3
|
||||||
# https://github.com/ansible/galaxy_ng/tree/4.5.2
|
# https://github.com/ansible/galaxy_ng/tree/4.6.3
|
||||||
|
|
||||||
deployment_type: galaxy
|
deployment_type: galaxy
|
||||||
|
|
||||||
image: quay.io/pulp/galaxy
|
image: quay.io/pulp/galaxy
|
||||||
image_version: 4.5.2
|
image_version: 4.6.3
|
||||||
image_web: quay.io/pulp/galaxy-web
|
image_web: quay.io/pulp/galaxy-web
|
||||||
image_web_version: 4.5.2
|
image_web_version: 4.6.3
|
||||||
|
|
||||||
admin_password_secret: galaxy-admin-password
|
admin_password_secret: galaxy-admin-password
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: git
|
- name: git
|
||||||
image: gitea/gitea:1.17
|
image: gitea/gitea:latest
|
||||||
ports:
|
ports:
|
||||||
- name: gitea-http
|
- name: gitea-http
|
||||||
containerPort: 3000
|
containerPort: 3000
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@ secretGenerator:
|
||||||
- tls.crt
|
- tls.crt
|
||||||
- tls.key
|
- tls.key
|
||||||
|
|
||||||
|
images:
|
||||||
|
- name: gitea/gitea
|
||||||
|
newTag: "1.18"
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- pv.yaml
|
- pv.yaml
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: registry
|
- name: registry
|
||||||
image: registry:2.8
|
image: registry:latest
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 5000
|
- containerPort: 5000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@ secretGenerator:
|
||||||
- tls.crt
|
- tls.crt
|
||||||
- tls.key
|
- tls.key
|
||||||
|
|
||||||
|
images:
|
||||||
|
- name: registry
|
||||||
|
newTag: "2.8"
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- pv.yaml
|
- pv.yaml
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ $ 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 *********************************************************************
|
||||||
localhost : ok=79 changed=0 unreachable=0 failed=0 skipped=66 rescued=0 ignored=1
|
localhost : ok=79 changed=0 unreachable=0 failed=0 skipped=67 rescued=0 ignored=1
|
||||||
```
|
```
|
||||||
|
|
||||||
This will create AWXRestore object in the namespace, and now your AWX is restored.
|
This will create AWXRestore object in the namespace, and now your AWX is restored.
|
||||||
|
|
|
||||||
|
|
@ -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.1.3/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.4/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
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
||||||
|
|
||||||
| AWX Operator | AWX |
|
| AWX Operator | AWX |
|
||||||
| - | - |
|
| - | - |
|
||||||
|
| 1.1.4 | 21.11.0 |
|
||||||
| 1.1.3 | 21.10.2 |
|
| 1.1.3 | 21.10.2 |
|
||||||
| 1.1.2 | 21.10.1 |
|
| 1.1.2 | 21.10.1 |
|
||||||
| 1.1.1 | 21.10.0 |
|
| 1.1.1 | 21.10.0 |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue