mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-04-03 13:30:02 +00:00
Updated kubernetes manifests
This commit is contained in:
47
deploy/kubernetes/manifests/db-migration.yaml
Normal file
47
deploy/kubernetes/manifests/db-migration.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: wrestlingdev-db-create-migrate
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: wrestlingdev-db-create-migrate
|
||||
image: jcwimer/wrestlingdev:prod
|
||||
imagePullPolicy: Always
|
||||
command: ["/bin/sh","-c"]
|
||||
args: ["bundle exec rake db:create; bundle exec rake db:migrate"]
|
||||
env:
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
- name: WRESTLINGDEV_DB_NAME
|
||||
value: wrestlingdev
|
||||
- name: WRESTLINGDEV_DB_USR
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbusername
|
||||
- name: WRESTLINGDEV_DB_PWD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbpassword
|
||||
- name: WRESTLINGDEV_DB_PORT
|
||||
value: "3306"
|
||||
- name: MEMCACHIER_SERVERS
|
||||
value: wrestlingdev-memcached:11211
|
||||
- name: WRESTLINGDEV_DB_HOST
|
||||
value: mariadb
|
||||
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: devisesecretkey
|
||||
- name: WRESTLINGDEV_SECRET_KEY_BASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: railssecretkey
|
||||
restartPolicy: OnFailure
|
||||
backoffLimit: 10
|
||||
20
deploy/kubernetes/manifests/ingress.yaml
Normal file
20
deploy/kubernetes/manifests/ingress.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: wrestlingdev-app-ingress-external
|
||||
annotations:
|
||||
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
|
||||
certmanager.k8s.io/acme-challenge-type: http01
|
||||
spec:
|
||||
rules:
|
||||
- host: wrestlingdev.com
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: wrestlingdev-app
|
||||
servicePort: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- wrestlingdev.com
|
||||
secretName: letsencrypt-prod
|
||||
69
deploy/kubernetes/manifests/mariadb-standalone.yaml
Normal file
69
deploy/kubernetes/manifests/mariadb-standalone.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wrestlingdev-mariadb
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
ports:
|
||||
- port: 3306
|
||||
selector:
|
||||
app: wrestlingdev
|
||||
tier: mariadb
|
||||
clusterIP: None
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: wrestlingdev-mariadb-pv-claim
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
storageClassName: standard
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 20Gi
|
||||
---
|
||||
apiVersion: apps/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: wrestlingdev-mariadb
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
tier: mariadb
|
||||
spec:
|
||||
containers:
|
||||
- image: mariadb:10.3
|
||||
name: mariadb
|
||||
env:
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbpassword
|
||||
ports:
|
||||
- containerPort: 3306
|
||||
name: mariadb
|
||||
volumeMounts:
|
||||
- name: wrestlingdev-mariadb-persistent-storage
|
||||
mountPath: /var/lib/mysql
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.5"
|
||||
memory: "512Mi"
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "0.2"
|
||||
volumes:
|
||||
- name: wrestlingdev-mariadb-persistent-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: wrestlingdev-mariadb-pv-claim
|
||||
43
deploy/kubernetes/manifests/memcached-standalone.yaml
Normal file
43
deploy/kubernetes/manifests/memcached-standalone.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wrestlingdev-memcached
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
ports:
|
||||
- port: 11211
|
||||
selector:
|
||||
app: wrestlingdev
|
||||
tier: memcached
|
||||
clusterIP: None
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: wrestlingdev-memcached-deployment
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wrestlingdev
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
tier: memcached
|
||||
spec:
|
||||
containers:
|
||||
- name: wrestlingdev-memcached
|
||||
image: memcached
|
||||
ports:
|
||||
- containerPort: 11211
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.2"
|
||||
memory: "64Mi"
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "0.1"
|
||||
168
deploy/kubernetes/manifests/wrestlingdev.yaml
Normal file
168
deploy/kubernetes/manifests/wrestlingdev.yaml
Normal file
@@ -0,0 +1,168 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wrestlingdev-app
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: wrestlingdev
|
||||
tier: frontend
|
||||
clusterIP: None
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: wrestlingdev-app-deployment
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wrestlingdev
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
tier: frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: wrestlingdev-app
|
||||
image: jcwimer/wrestlingdev:prod
|
||||
imagePullPolicy: Always
|
||||
command: ["bundle"]
|
||||
args: ["exec", "passenger", "start", "-p", "80", "--max-pool-size", "3","--environment", "production"]
|
||||
ports:
|
||||
- containerPort: 80
|
||||
env:
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
- name: WRESTLINGDEV_DB_NAME
|
||||
value: wrestlingdev
|
||||
- name: WRESTLINGDEV_DB_USR
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbusername
|
||||
- name: WRESTLINGDEV_DB_PWD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbpassword
|
||||
- name: WRESTLINGDEV_DB_PORT
|
||||
value: "3306"
|
||||
- name: MEMCACHIER_SERVERS
|
||||
value: wrestlingdev-memcached:11211
|
||||
- name: WRESTLINGDEV_DB_HOST
|
||||
value: mariadb
|
||||
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: devisesecretkey
|
||||
- name: WRESTLINGDEV_SECRET_KEY_BASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: railssecretkey
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.5"
|
||||
memory: "768Mi"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "0.5"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 80
|
||||
initialDelaySeconds: 180
|
||||
periodSeconds: 20
|
||||
timeoutSeconds: 10
|
||||
---
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: wrestlingdev-app-deployment-autoscale
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
name: wrestlingdev-app-deployment
|
||||
minReplicas: 2
|
||||
maxReplicas: 4
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: 300
|
||||
# - type: Resource
|
||||
# resource:
|
||||
# name: memory
|
||||
# targetAverageValue: 100Mi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: wrestlingdev-worker-deployment
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wrestlingdev
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: wrestlingdev
|
||||
tier: worker
|
||||
spec:
|
||||
containers:
|
||||
- name: wrestlingdev-worker
|
||||
image: jcwimer/wrestlingdev:prod
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
- name: WRESTLINGDEV_DB_NAME
|
||||
value: wrestlingdev
|
||||
- name: WRESTLINGDEV_DB_USR
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbusername
|
||||
- name: WRESTLINGDEV_DB_PWD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: dbpassword
|
||||
- name: WRESTLINGDEV_DB_PORT
|
||||
value: "3306"
|
||||
- name: MEMCACHIER_SERVERS
|
||||
value: wrestlingdev-memcached:11211
|
||||
- name: WRESTLINGDEV_DB_HOST
|
||||
value: mariadb
|
||||
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: devisesecretkey
|
||||
- name: WRESTLINGDEV_SECRET_KEY_BASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wrestlingdev-secrets
|
||||
key: railssecretkey
|
||||
command: ["bundle"]
|
||||
args: ["exec", "bin/delayed_job", "-n", "1", "run"]
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.5"
|
||||
memory: "512Mi"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "0.2"
|
||||
|
||||
Reference in New Issue
Block a user