1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00

Add kubernetes manifests

This commit is contained in:
2019-04-15 14:40:18 -04:00
parent e16e807b54
commit edb8885f00
7 changed files with 304 additions and 241 deletions

View File

@@ -1,16 +1,16 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: wrestlingdev-app-ingress
spec:
rules:
- host: kube.wrestlingdev.com
http:
paths:
- path: /
backend:
serviceName: wrestlingdev-app
servicePort: 80
tls:
- hosts:
- kube.wrestlingdev.com
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: wrestlingdev-app-ingress
spec:
rules:
- host: wrestlingdev.jqw43.platform-lab.cloud.cas.org
http:
paths:
- path: /
backend:
serviceName: wrestlingdev-app
servicePort: 80
tls:
- hosts:
- wrestlingdev.jqw43.platform-lab.cloud.cas.org

View File

@@ -1,66 +1,66 @@
apiVersion: v1
kind: Service
metadata:
name: wrestlingdev-mysql
labels:
app: wrestlingdev
spec:
ports:
- port: 3306
selector:
app: wrestlingdev
tier: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wrestlingdev-mysql-pv-claim
labels:
app: wrestlingdev
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: wrestlingdev-mysql
labels:
app: wrestlingdev
spec:
strategy:
type: Recreate
template:
metadata:
labels:
app: wrestlingdev
tier: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: wrestlingdev-mysql-persistent-storage
mountPath: /var/lib/mysql
resources:
limits:
cpu: "0.5"
memory: "512Mi"
requests:
memory: "256Mi"
cpu: "0.2"
volumes:
- name: wrestlingdev-mysql-persistent-storage
persistentVolumeClaim:
claimName: wrestlingdev-mysql-pv-claim
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
value: password
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

View File

@@ -1,43 +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"
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"

View File

@@ -0,0 +1,177 @@
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: 1
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: wrestlingtourney
- name: WRESTLINGDEV_DB_USR
value: root
- name: WRESTLINGDEV_DB_PWD
value: password
- name: WRESTLINGDEV_DB_PORT
value: "3306"
- name: MEMCACHIER_SERVERS
value: wrestlingdev-memcached:11211
- name: WRESTLINGDEV_DB_HOST
value: wrestlingdev-mariadb
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa
- name: WRESTLINGDEV_SECRET_KEY_BASE
value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2
resources:
limits:
cpu: "0.5"
memory: "512Mi"
requests:
memory: "512Mi"
cpu: "0.5"
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 20
periodSeconds: 10
---
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: wrestlingdev-app-deployment-autoscale
spec:
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: Deployment
name: wrestlingdev-app-deployment
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 50
# - 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: wrestlingtourney
- name: WRESTLINGDEV_DB_USR
value: root
- name: WRESTLINGDEV_DB_PWD
value: password
- name: WRESTLINGDEV_DB_PORT
value: "3306"
- name: MEMCACHIER_SERVERS
value: wrestlingdev-memcached:11211
- name: WRESTLINGDEV_DB_HOST
value: wrestlingdev-mariadb
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa
- name: WRESTLINGDEV_SECRET_KEY_BASE
value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2
command: ["bundle"]
args: ["exec", "bin/delayed_job", "-n", "1", "run"]
resources:
limits:
cpu: "0.5"
memory: "512Mi"
requests:
memory: "512Mi"
cpu: "0.2"
---
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: wrestlingtourney
- name: WRESTLINGDEV_DB_USR
value: root
- name: WRESTLINGDEV_DB_PWD
value: password
- name: WRESTLINGDEV_DB_PORT
value: "3306"
- name: MEMCACHIER_SERVERS
value: wrestlingdev-memcached:11211
- name: WRESTLINGDEV_DB_HOST
value: wrestlingdev-mariadb
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa
- name: WRESTLINGDEV_SECRET_KEY_BASE
value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2
restartPolicy: OnFailure
backoffLimit: 10

View File

@@ -1,113 +0,0 @@
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: 3
selector:
matchLabels:
app: wrestlingdev
template:
metadata:
labels:
app: wrestlingdev
tier: frontend
spec:
containers:
- name: wrestlingdev-app
image: jcwimer/wrestlingdev:prod
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: RAILS_ENV
value: production
- name: WRESTLINGDEV_DB_NAME
value: wrestlingtourneyprod
- name: WRESTLINGDEV_DB_USR
value: root
- name: WRESTLINGDEV_DB_PWD
value: password
- name: WRESTLINGDEV_DB_PORT
value: "3306"
- name: MEMCACHIER_SERVERS
value: wrestlingdev-memcached:11211
- name: WRESTLINGDEV_DB_HOST
value: wrestlingdev-mysql
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa
- name: WRESTLINGDEV_SECRET_KEY_BASE
value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2
resources:
limits:
cpu: "0.5"
memory: "512Mi"
requests:
memory: "512Mi"
cpu: "0.2"
---
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: wrestlingtourneyprod
- name: WRESTLINGDEV_DB_USR
value: root
- name: WRESTLINGDEV_DB_PWD
value: password
- name: WRESTLINGDEV_DB_PORT
value: "3306"
- name: MEMCACHIER_SERVERS
value: wrestlingdev-memcached:11211
- name: WRESTDEV_DB_HOST
value: wrestlingdev-mysql
- name: WRESTLINGDEV_DEVISE_SECRET_KEY
value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa
- name: WRESTLINGDEV_SECRET_KEY_BASE
value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2
command: ["bundle"]
args: ["exec", "bin/delayed_job", "-n", "1", "run"]
resources:
limits:
cpu: "0.5"
memory: "512Mi"
requests:
memory: "512Mi"
cpu: "0.2"