mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-16 05:52:15 +11:00
feat: add guide to use external database
This commit is contained in:
parent
31ccebaed2
commit
ad20d90ea3
3 changed files with 124 additions and 0 deletions
|
|
@ -432,6 +432,7 @@ kubectl apply -f awx-secret-tls.yaml
|
||||||
- [📁 **Use Customized Pod Specification for your Execution Environment**](containergroup)
|
- [📁 **Use Customized Pod Specification for your Execution Environment**](containergroup)
|
||||||
- The guide to use customized Pod of the Execution Environment using **Container Group**.
|
- The guide to use customized Pod of the Execution Environment using **Container Group**.
|
||||||
- [📁 **Tips**](tips)
|
- [📁 **Tips**](tips)
|
||||||
|
- [📝Deploy AWX using external PostgreSQL database](tips/external-db.md)
|
||||||
- [📝Expose `/etc/hosts` to Pods on K3s](tips/expose-hosts.md)
|
- [📝Expose `/etc/hosts` to Pods on K3s](tips/expose-hosts.md)
|
||||||
- [📝Redirect HTTP to HTTPS](tips/https-redirection.md)
|
- [📝Redirect HTTP to HTTPS](tips/https-redirection.md)
|
||||||
- [📝Uninstall deployed resouces](tips/uninstall.md)
|
- [📝Uninstall deployed resouces](tips/uninstall.md)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
# Tips
|
# Tips
|
||||||
|
|
||||||
|
- [📝Deploy AWX using external PostgreSQL database](external-db.md)
|
||||||
- [📝Expose `/etc/hosts` to Pods on K3s](expose-hosts.md)
|
- [📝Expose `/etc/hosts` to Pods on K3s](expose-hosts.md)
|
||||||
- [📝Redirect HTTP to HTTPS](https-redirection.md)
|
- [📝Redirect HTTP to HTTPS](https-redirection.md)
|
||||||
- [📝Uninstall deployed resouces](uninstall.md)
|
- [📝Uninstall deployed resouces](uninstall.md)
|
||||||
|
|
|
||||||
122
tips/external-db.md
Normal file
122
tips/external-db.md
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
<!-- omit in toc -->
|
||||||
|
# Deploy AWX using external PostgreSQL database
|
||||||
|
|
||||||
|
The guide to deploy AWX using your existing external PostgreSQL database. The overview of the procedure is almost the same as [the main guide](../), but a few additional files need to be modified.
|
||||||
|
|
||||||
|
<!-- omit in toc -->
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Prepare PostgreSQL](#prepare-postgresql)
|
||||||
|
- [Prepare required files](#prepare-required-files)
|
||||||
|
- [Modify `base/awx.yaml`](#modify-baseawxyaml)
|
||||||
|
- [Modify `base/kustomization.yaml`](#modify-basekustomizationyaml)
|
||||||
|
- [Modify `base/pv.yaml`](#modify-basepvyaml)
|
||||||
|
- [Prepare directories](#prepare-directories)
|
||||||
|
- [The next steps](#the-next-steps)
|
||||||
|
|
||||||
|
## Prepare PostgreSQL
|
||||||
|
|
||||||
|
Prepare your PostgreSQL.
|
||||||
|
|
||||||
|
Here, for the simplest example, I prepared it on another host (named `postgres.example.internal`) using Docker Compose.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:12
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=awx
|
||||||
|
- POSTGRES_USER=awx
|
||||||
|
- POSTGRES_PASSWORD=SecurePasswordForMyExternalPostgreSQLForAWX123!
|
||||||
|
volumes:
|
||||||
|
- "postgres-data:/var/lib/postgresql/data"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prepare required files
|
||||||
|
|
||||||
|
In addition to the steps in [the main guide (`README.md`)](../), here are a few additional files that need to be modified before you deploy AWX.
|
||||||
|
|
||||||
|
### Modify `base/awx.yaml`
|
||||||
|
|
||||||
|
Comment out following four lines which are unnecessary settings in `base/awx.yaml`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
...
|
||||||
|
spec:
|
||||||
|
...
|
||||||
|
postgres_configuration_secret: awx-postgres-configuration
|
||||||
|
|
||||||
|
# postgres_storage_class: awx-postgres-volume 👈👈👈
|
||||||
|
# postgres_storage_requirements: 👈👈👈
|
||||||
|
# requests: 👈👈👈
|
||||||
|
# storage: 2Gi 👈👈👈
|
||||||
|
|
||||||
|
projects_persistence: true
|
||||||
|
projects_existing_claim: awx-projects-claim
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Modify `base/kustomization.yaml`
|
||||||
|
|
||||||
|
Replace and modify following lines under `awx-postgres-configuration` in `base/kustomization.yaml` to suit your environment.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
secretGenerator:
|
||||||
|
...
|
||||||
|
- name: awx-postgres-configuration
|
||||||
|
type: Opaque
|
||||||
|
literals:
|
||||||
|
- host=postgres.example.internal 👈👈👈
|
||||||
|
- port=5432 👈👈👈
|
||||||
|
- database=awx 👈👈👈
|
||||||
|
- username=awx 👈👈👈
|
||||||
|
- password=SecurePasswordForMyExternalPostgreSQLForAWX123! 👈👈👈
|
||||||
|
- sslmode=prefer 👈👈👈
|
||||||
|
- type=unmanaged 👈👈👈
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that the `type=unmanaged` is the important configuration to use external database.
|
||||||
|
|
||||||
|
### Modify `base/pv.yaml`
|
||||||
|
|
||||||
|
Comment out following unnecessary lines which related to `awx-postgres-volume` in `base/pv.yaml`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# --- 👈👈👈
|
||||||
|
# apiVersion: v1 👈👈👈
|
||||||
|
# kind: PersistentVolume 👈👈👈
|
||||||
|
# metadata: 👈👈👈
|
||||||
|
# name: awx-postgres-volume 👈👈👈
|
||||||
|
# spec: 👈👈👈
|
||||||
|
# accessModes: 👈👈👈
|
||||||
|
# - ReadWriteOnce 👈👈👈
|
||||||
|
# persistentVolumeReclaimPolicy: Retain 👈👈👈
|
||||||
|
# capacity: 👈👈👈
|
||||||
|
# storage: 2Gi 👈👈👈
|
||||||
|
# storageClassName: awx-postgres-volume 👈👈👈
|
||||||
|
# hostPath: 👈👈👈
|
||||||
|
# path: /data/postgres 👈👈👈
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: awx-projects-volume
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Prepare directories
|
||||||
|
|
||||||
|
You do not need to create the `/data/postgres` directory that the main guide instructs you to create.
|
||||||
|
|
||||||
|
## The next steps
|
||||||
|
|
||||||
|
The other steps are the same as in [the main guide (`README.md`)](../). Have fun!
|
||||||
Loading…
Reference in a new issue