mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-16 05:52:15 +11:00
Merge pull request #260 from kurokobo/awx-2.5.3
feat: bump operator version to 2.5.3
This commit is contained in:
commit
01f0b8d0fb
10 changed files with 63 additions and 56 deletions
12
README.md
12
README.md
|
|
@ -29,17 +29,17 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
|||
|
||||
- Tested on:
|
||||
- CentOS Stream 8 (Minimal)
|
||||
- K3s v1.27.4+k3s1
|
||||
- K3s v1.27.5+k3s1
|
||||
- Products that will be deployed:
|
||||
- AWX Operator 2.5.2
|
||||
- AWX 23.0.0
|
||||
- AWX Operator 2.5.3
|
||||
- AWX 23.1.0
|
||||
- PostgreSQL 13
|
||||
|
||||
## References
|
||||
|
||||
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/23.0.0/INSTALL.md) @23.0.0
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.5.2/README.md) @2.5.2
|
||||
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/23.1.0/INSTALL.md) @23.1.0
|
||||
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.5.3/README.md) @2.5.3
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
@ -92,7 +92,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 2.5.2
|
||||
git checkout 2.5.3
|
||||
```
|
||||
|
||||
Then invoke `kubectl apply -k operator` to deploy AWX Operator.
|
||||
|
|
|
|||
|
|
@ -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.12.3/cert-manager.yaml
|
||||
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.13.0/cert-manager.yaml
|
||||
```
|
||||
|
||||
Ensure the pods in `cert-manager` namespace are running.
|
||||
|
|
|
|||
|
|
@ -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/2.5.2/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/2.5.3/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` |
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-alpha.9](https://github.com/pulp/pulp-operator/tree/1.0.0-alpha.9).
|
||||
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-beta.1](https://github.com/pulp/pulp-operator/tree/1.0.0-beta.1).
|
||||
|
||||
### Install Pulp Operator
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ Install specified version of Pulp Operator.
|
|||
cd ~
|
||||
git clone https://github.com/pulp/pulp-operator.git
|
||||
cd pulp-operator
|
||||
git checkout 1.0.0-alpha.9
|
||||
git checkout 1.0.0-beta.1
|
||||
```
|
||||
|
||||
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.
|
||||
|
|
@ -309,7 +309,7 @@ When the deployment completes successfully, the logs end with:
|
|||
$ kubectl -n galaxy logs -f deployments/pulp-operator-controller-manager
|
||||
...
|
||||
2006-01-02T15:04:05Z INFO repo_manager/status.go:149 galaxy operator finished execution ...
|
||||
2006-01-02T15:04:05Z INFO repo_manager/controller.go:233 Operator tasks synced
|
||||
2006-01-02T15:04:05Z INFO repo_manager/controller.go:236 Operator tasks synced
|
||||
```
|
||||
|
||||
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
||||
|
|
@ -317,55 +317,61 @@ Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
|||
```bash
|
||||
$ kubectl -n galaxy get pulp,all,ingress,secrets
|
||||
NAME AGE
|
||||
pulp.repo-manager.pulpproject.org/galaxy 3m22s
|
||||
pulp.repo-manager.pulpproject.org/galaxy 3m15s
|
||||
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
pod/pulp-operator-controller-manager-66445f9d88-w6qjv 2/2 Running 0 5m34s
|
||||
pod/galaxy-redis-84c95d97f8-86hkk 1/1 Running 0 3m22s
|
||||
pod/galaxy-database-0 1/1 Running 0 3m22s
|
||||
pod/galaxy-worker-588c5f4df4-k255c 1/1 Running 0 3m16s
|
||||
pod/galaxy-api-6b86d65586-7rx79 1/1 Running 0 3m17s
|
||||
pod/galaxy-content-7cf7cf49f6-tqqbl 1/1 Running 0 3m17s
|
||||
pod/galaxy-web-546fbf459-cmn9v 1/1 Running 0 2m44s
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
pod/pulp-operator-controller-manager-74f74c5846-kcnvx 2/2 Running 0 3m29s
|
||||
pod/galaxy-redis-56445fcbbb-hxdq9 1/1 Running 0 3m15s
|
||||
pod/galaxy-database-0 1/1 Running 0 3m15s
|
||||
pod/galaxy-pulpcore-migration-dcmhw-tjnxq 0/1 Completed 0 3m4s
|
||||
pod/galaxy-reset-admin-password-pb5mv-s2nm6 0/1 Completed 0 3m4s
|
||||
pod/galaxy-api-5bbf4c58cd-kzdgg 1/1 Running 0 3m4s
|
||||
pod/galaxy-content-59bbb99578-d87zz 1/1 Running 0 3m4s
|
||||
pod/galaxy-worker-66dd884cfb-v7r9z 1/1 Running 0 3m4s
|
||||
pod/galaxy-web-5bfcd9c5f9-xfgcv 1/1 Running 0 2m24s
|
||||
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
service/pulp-operator-controller-manager-metrics-service ClusterIP 10.43.22.172 <none> 8443/TCP 5m34s
|
||||
service/galaxy-database-svc ClusterIP None <none> 5432/TCP 3m22s
|
||||
service/galaxy-redis-svc ClusterIP 10.43.196.8 <none> 6379/TCP 3m22s
|
||||
service/galaxy-api-svc ClusterIP 10.43.65.203 <none> 24817/TCP 3m17s
|
||||
service/galaxy-content-svc ClusterIP 10.43.226.206 <none> 24816/TCP 3m16s
|
||||
service/galaxy-web-svc ClusterIP 10.43.7.188 <none> 24880/TCP 2m43s
|
||||
service/pulp-operator-controller-manager-metrics-service ClusterIP 10.43.168.53 <none> 8443/TCP 3m29s
|
||||
service/galaxy-database-svc ClusterIP None <none> 5432/TCP 3m15s
|
||||
service/galaxy-redis-svc ClusterIP 10.43.192.108 <none> 6379/TCP 3m15s
|
||||
service/galaxy-api-svc ClusterIP 10.43.90.155 <none> 24817/TCP 3m4s
|
||||
service/galaxy-content-svc ClusterIP 10.43.240.255 <none> 24816/TCP 3m4s
|
||||
service/galaxy-web-svc ClusterIP 10.43.60.255 <none> 24880/TCP 2m23s
|
||||
|
||||
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||
deployment.apps/pulp-operator-controller-manager 1/1 1 1 5m34s
|
||||
deployment.apps/galaxy-redis 1/1 1 1 3m22s
|
||||
deployment.apps/galaxy-worker 1/1 1 1 3m16s
|
||||
deployment.apps/galaxy-api 1/1 1 1 3m17s
|
||||
deployment.apps/galaxy-content 1/1 1 1 3m17s
|
||||
deployment.apps/galaxy-web 1/1 1 1 2m44s
|
||||
deployment.apps/pulp-operator-controller-manager 1/1 1 1 3m29s
|
||||
deployment.apps/galaxy-redis 1/1 1 1 3m15s
|
||||
deployment.apps/galaxy-content 1/1 1 1 3m4s
|
||||
deployment.apps/galaxy-api 1/1 1 1 3m4s
|
||||
deployment.apps/galaxy-worker 1/1 1 1 3m4s
|
||||
deployment.apps/galaxy-web 1/1 1 1 2m24s
|
||||
|
||||
NAME DESIRED CURRENT READY AGE
|
||||
replicaset.apps/pulp-operator-controller-manager-66445f9d88 1 1 1 5m34s
|
||||
replicaset.apps/galaxy-redis-84c95d97f8 1 1 1 3m22s
|
||||
replicaset.apps/galaxy-worker-588c5f4df4 1 1 1 3m16s
|
||||
replicaset.apps/galaxy-api-6b86d65586 1 1 1 3m17s
|
||||
replicaset.apps/galaxy-content-7cf7cf49f6 1 1 1 3m17s
|
||||
replicaset.apps/galaxy-web-546fbf459 1 1 1 2m44s
|
||||
replicaset.apps/pulp-operator-controller-manager-74f74c5846 1 1 1 3m29s
|
||||
replicaset.apps/galaxy-redis-56445fcbbb 1 1 1 3m15s
|
||||
replicaset.apps/galaxy-api-5bbf4c58cd 1 1 1 3m4s
|
||||
replicaset.apps/galaxy-content-59bbb99578 1 1 1 3m4s
|
||||
replicaset.apps/galaxy-worker-66dd884cfb 1 1 1 3m4s
|
||||
replicaset.apps/galaxy-web-5bfcd9c5f9 1 1 1 2m24s
|
||||
|
||||
NAME READY AGE
|
||||
statefulset.apps/galaxy-database 1/1 3m22s
|
||||
statefulset.apps/galaxy-database 1/1 3m15s
|
||||
|
||||
NAME COMPLETIONS DURATION AGE
|
||||
job.batch/galaxy-pulpcore-migration-dcmhw 1/1 31s 3m4s
|
||||
job.batch/galaxy-reset-admin-password-pb5mv 1/1 35s 3m4s
|
||||
|
||||
NAME CLASS HOSTS ADDRESS PORTS AGE
|
||||
ingress.networking.k8s.io/galaxy traefik galaxy.example.com 192.168.0.219 80, 443 2m45s
|
||||
ingress.networking.k8s.io/galaxy traefik galaxy.example.com 192.168.0.219 80, 443 2m20s
|
||||
|
||||
NAME TYPE DATA AGE
|
||||
secret/galaxy-admin-password Opaque 1 3m22s
|
||||
secret/galaxy-postgres-configuration Opaque 7 3m22s
|
||||
secret/galaxy-secret-tls kubernetes.io/tls 2 3m22s
|
||||
secret/redhat-operators-pull-secret Opaque 1 3m22s
|
||||
secret/galaxy-server Opaque 1 3m22s
|
||||
secret/galaxy-db-fields-encryption Opaque 1 3m22s
|
||||
secret/galaxy-container-auth Opaque 2 3m22s
|
||||
secret/galaxy-postgres-configuration Opaque 7 3m15s
|
||||
secret/galaxy-secret-tls kubernetes.io/tls 2 3m15s
|
||||
secret/galaxy-secret-key Opaque 1 3m15s
|
||||
secret/galaxy-server Opaque 1 3m15s
|
||||
secret/galaxy-db-fields-encryption Opaque 1 3m15s
|
||||
secret/galaxy-container-auth Opaque 2 3m15s
|
||||
secret/galaxy-admin-password Opaque 1 3m15s
|
||||
```
|
||||
|
||||
Now your AWX is available at `https://galaxy.example.com/` or the hostname you specified. You can log in to the GUI by user `admin` with password you specified in `pulp/kustomization.yaml`.
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
apiVersion: repo-manager.pulpproject.org/v1alpha1
|
||||
apiVersion: repo-manager.pulpproject.org/v1beta2
|
||||
kind: Pulp
|
||||
metadata:
|
||||
name: galaxy
|
||||
spec:
|
||||
# These parameters are designed for use with:
|
||||
# - Pulp Operator: 1.0.0-alpha.9
|
||||
# https://github.com/pulp/pulp-operator/blob/1.0.0-alpha.9/README.md
|
||||
# - Pulp Operator: 1.0.0-beta.1
|
||||
# https://github.com/pulp/pulp-operator/blob/1.0.0-beta.1/README.md
|
||||
# - Galaxy NG: 4.7.1
|
||||
# https://github.com/ansible/galaxy_ng/tree/4.7.1
|
||||
|
||||
|
|
@ -23,7 +23,6 @@ spec:
|
|||
ingress_tls_secret: galaxy-secret-tls
|
||||
ingress_host: galaxy.example.com
|
||||
|
||||
storage_type: file
|
||||
file_storage_storage_class: galaxy-file-volume
|
||||
file_storage_access_mode: ReadWriteOnce
|
||||
file_storage_size: 8Gi
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ secretGenerator:
|
|||
- operator=awx
|
||||
|
||||
resources:
|
||||
- github.com/ansible/awx-operator/config/default?ref=2.5.2
|
||||
- github.com/ansible/awx-operator/config/default?ref=2.5.3
|
||||
|
||||
images:
|
||||
- name: quay.io/ansible/awx-operator
|
||||
newTag: 2.5.2
|
||||
newTag: 2.5.3
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Traefik, the default Ingress controller for K3s, listens for access over both HT
|
|||
|
||||
- [Procedure](#procedure)
|
||||
- [Prepare Traefik](#prepare-traefik)
|
||||
- [Restoring using Redirect HTTP to HTTPS](#restoring-using-redirect-http-to-https)
|
||||
- [Restoring using Redirect HTTP to HTTPS](#restoring-using-redirect-http-to-https)
|
||||
- [Patch your AWX to enable HTTPS redirection](#patch-your-awx-to-enable-https-redirection)
|
||||
- [Patch your AWX using Kustomize](#patch-your-awx-using-kustomize)
|
||||
- [Patch your AWX manually](#patch-your-awx-manually)
|
||||
|
|
@ -41,6 +41,7 @@ kubectl -n default get middleware
|
|||
```
|
||||
|
||||
#### Restoring using Redirect HTTP to HTTPS
|
||||
|
||||
When deploying the middleware, it will not be part of the [restore instructions in the restore guide](../restore/README.md). Traefik will assume the middleware is present when the restore is complete, but you will have to reapply the scheme in the `default` namespace if it is not already present, e.g. after restoring to a fresh node.
|
||||
|
||||
### Patch your AWX to enable HTTPS redirection
|
||||
|
|
|
|||
|
|
@ -186,7 +186,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/2.5.2/docs/user-guide/advanced-configuration/containers-resource-requirements.md) for details.
|
||||
- You can specify more specific value for each containers. Refer [official documentation](https://github.com/ansible/awx-operator/blob/2.5.3/docs/user-guide/advanced-configuration/containers-resource-requirements.md) 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
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ sudo rm -rf /data/postgres
|
|||
|
||||
## 📝 Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`)
|
||||
|
||||
If you are using AWX Operator `0.13.0` and want to upgrade to newer version, you should consider the big changes in AWX Operator in `0.14.0`. [As described in the documentation](https://github.com/ansible/awx-operator/blob/2.5.2/docs/upgrade/upgrading.md#v0140), in `0.14.0`, AWX Operator changed from cluster scope to namespace scope. Also, the Operator SDK `1.x` is used.
|
||||
If you are using AWX Operator `0.13.0` and want to upgrade to newer version, you should consider the big changes in AWX Operator in `0.14.0`. [As described in the documentation](https://github.com/ansible/awx-operator/blob/2.5.3/docs/upgrade/upgrading.md#v0140), in `0.14.0`, AWX Operator changed from cluster scope to namespace scope. Also, the Operator SDK `1.x` is used.
|
||||
|
||||
This means that upgrading from `0.13.0` to `0.14.0` or later requires a bit of finesse, such as cleaning the old AWX Operator. **If you are using `0.12.0` or earlier and want to upgrade to `0.14.0` or later, I recommend you to [upgrade to `0.13.0` first](#-upgrade-from-0120-or-earlier-eg-from-0120-to-0130) and then come back to here to avoid unintended issue.**
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
|||
|
||||
| AWX Operator | AWX |
|
||||
| - | - |
|
||||
| 2.5.3 | 23.1.0 |
|
||||
| 2.5.2 | 23.0.0 |
|
||||
| 2.5.1 | 22.7.0 |
|
||||
| 2.5.0 | 22.6.0 |
|
||||
|
|
|
|||
Loading…
Reference in a new issue