Skip to content

Instantly share code, notes, and snippets.

@zahodi
Last active March 26, 2019 05:52
Show Gist options
  • Save zahodi/487b7bf0fe8913481eca43ecd8747a1c to your computer and use it in GitHub Desktop.
Save zahodi/487b7bf0fe8913481eca43ecd8747a1c to your computer and use it in GitHub Desktop.
simple awx deployment to kubernetes, assumes you have ingress controller available for use
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: awx
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
tls:
- hosts:
- awx-core.yourdomain.com
secretName: your_organization-wildcard
rules:
- host: awx-core.yourdomain.com
http:
paths:
- path: /
backend:
serviceName: awx-web
servicePort: 80
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-cache
labels:
app: awx
role: cache
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: cache
spec:
containers:
- name: memcached
image: memcached:alpine
ports:
- name: memcached
containerPort: 11211
---
apiVersion: v1
kind: Service
metadata:
name: awx-cache
spec:
ports:
- name: memcached
port: 11211
targetPort: 11211
selector:
app: awx
role: cache
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-db
labels:
app: awx
role: database
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: database
spec:
containers:
- name: postgres
image: postgres:9.6
ports:
- name: postgres
containerPort: 5432
env:
- name: POSTGRES_DB
value: awx
- name: POSTGRES_PASSWORD
value: awxpass
- name: POSTGRES_USER
value: awx
- name: PGDATA
value: "/var/lib/postgresql/data/pgdata"
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: data-volume
volumes:
- name: data-volume
persistentVolumeClaim:
claimName: awx-db
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: awx-db
labels:
app: awx
role: db-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: gp2
---
apiVersion: v1
kind: Service
metadata:
name: awx-db
spec:
ports:
- name: postgres
port: 5432
targetPort: 5432
selector:
app: awx
role: database
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-queue
labels:
app: awx
role: queue
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: queue
spec:
containers:
- name: rabbitmq
image: ansible/awx_rabbitmq:3.7.4
env:
- name: RABBITMQ_DEFAULT_VHOST
value: awx
ports:
- containerPort: 5672
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-queue
labels:
app: awx
role: queue
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: queue
spec:
containers:
- name: rabbitmq
image: rabbitmq:3
env:
- name: RABBITMQ_DEFAULT_VHOST
value: awx
ports:
- containerPort: 5672
---
apiVersion: v1
kind: Service
metadata:
name: awx-queue
spec:
ports:
- name: queue
port: 5672
targetPort: 5672
selector:
app: awx
role: queue
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-task
labels:
app: awx
role: task
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: task
spec:
containers:
- name: awx-task
image: ansible/awx_task:latest
env:
- name: DATABASE_HOST
value: awx-db
- name: DATABASE_NAME
value: awx
- name: DATABASE_PASSWORD
value: awxpass
- name: DATABASE_PORT
value: "5432"
- name: DATABASE_USER
value: awx
- name: MEMCACHED_HOST
value: awx-cache
- name: MEMCACHED_PORT
value: "11211"
- name: RABBITMQ_HOST
value: awx-queue
- name: RABBITMQ_PASSWORD
value: guest
- name: RABBITMQ_PORT
value: "5672"
- name: RABBITMQ_USER
value: guest
- name: RABBITMQ_VHOST
value: awx
- name: SECRET_KEY
value: aabbcc
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: awx-web
labels:
app: awx
role: web
spec:
replicas: 1
template:
metadata:
labels:
app: awx
role: web
spec:
containers:
- name: awx-web
image: ansible/awx_web:latest
ports:
- name: http
containerPort: 8052
env:
- name: DATABASE_HOST
value: awx-db
- name: DATABASE_NAME
value: awx
- name: DATABASE_PASSWORD
value: awxpass
- name: DATABASE_PORT
value: "5432"
- name: DATABASE_USER
value: awx
- name: MEMCACHED_HOST
value: awx-cache
- name: MEMCACHED_PORT
value: "11211"
- name: RABBITMQ_HOST
value: awx-queue
- name: RABBITMQ_PASSWORD
value: guest
- name: RABBITMQ_PORT
value: "5672"
- name: RABBITMQ_USER
value: guest
- name: RABBITMQ_VHOST
value: awx
- name: SECRET_KEY
value: aabbcc
---
apiVersion: v1
kind: Service
metadata:
name: awx-web
spec:
ports:
- name: http
port: 80
targetPort: 8052
selector:
app: awx
role: web
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment