mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-15 21:42: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)
|
||||
- The guide to use customized Pod of the Execution Environment using **Container Group**.
|
||||
- [📁 **Tips**](tips)
|
||||
- [📝Deploy AWX using external PostgreSQL database](tips/external-db.md)
|
||||
- [📝Expose `/etc/hosts` to Pods on K3s](tips/expose-hosts.md)
|
||||
- [📝Redirect HTTP to HTTPS](tips/https-redirection.md)
|
||||
- [📝Uninstall deployed resouces](tips/uninstall.md)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
# Tips
|
||||
|
||||
- [📝Deploy AWX using external PostgreSQL database](external-db.md)
|
||||
- [📝Expose `/etc/hosts` to Pods on K3s](expose-hosts.md)
|
||||
- [📝Redirect HTTP to HTTPS](https-redirection.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