mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
Add kubernetes manifests
This commit is contained in:
@@ -64,8 +64,6 @@ services:
|
|||||||
database:
|
database:
|
||||||
caching:
|
caching:
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
|
||||||
test: kill -0 1
|
|
||||||
command: bundle exec bin/delayed_job -n 1 run
|
command: bundle exec bin/delayed_job -n 1 run
|
||||||
|
|
||||||
memcached:
|
memcached:
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-app-ingress
|
name: wrestlingdev-app-ingress
|
||||||
spec:
|
spec:
|
||||||
rules:
|
rules:
|
||||||
- host: kube.wrestlingdev.com
|
- host: wrestlingdev.jqw43.platform-lab.cloud.cas.org
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
backend:
|
backend:
|
||||||
serviceName: wrestlingdev-app
|
serviceName: wrestlingdev-app
|
||||||
servicePort: 80
|
servicePort: 80
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- kube.wrestlingdev.com
|
- wrestlingdev.jqw43.platform-lab.cloud.cas.org
|
||||||
@@ -1,66 +1,66 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-mysql
|
name: wrestlingdev-mariadb
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- port: 3306
|
- port: 3306
|
||||||
selector:
|
selector:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
tier: mysql
|
tier: mariadb
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-mysql-pv-claim
|
name: wrestlingdev-mariadb-pv-claim
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
spec:
|
spec:
|
||||||
storageClassName: standard
|
storageClassName: standard
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 20Gi
|
storage: 20Gi
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1beta1
|
apiVersion: apps/v1beta1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-mysql
|
name: wrestlingdev-mariadb
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
spec:
|
spec:
|
||||||
strategy:
|
strategy:
|
||||||
type: Recreate
|
type: Recreate
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
tier: mysql
|
tier: mariadb
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- image: mysql:5.6
|
- image: mariadb:10.3
|
||||||
name: mysql
|
name: mariadb
|
||||||
env:
|
env:
|
||||||
- name: MYSQL_ROOT_PASSWORD
|
- name: MYSQL_ROOT_PASSWORD
|
||||||
value: password
|
value: password
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3306
|
- containerPort: 3306
|
||||||
name: mysql
|
name: mariadb
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: wrestlingdev-mysql-persistent-storage
|
- name: wrestlingdev-mariadb-persistent-storage
|
||||||
mountPath: /var/lib/mysql
|
mountPath: /var/lib/mysql
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: "0.5"
|
cpu: "0.5"
|
||||||
memory: "512Mi"
|
memory: "512Mi"
|
||||||
requests:
|
requests:
|
||||||
memory: "256Mi"
|
memory: "256Mi"
|
||||||
cpu: "0.2"
|
cpu: "0.2"
|
||||||
volumes:
|
volumes:
|
||||||
- name: wrestlingdev-mysql-persistent-storage
|
- name: wrestlingdev-mariadb-persistent-storage
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: wrestlingdev-mysql-pv-claim
|
claimName: wrestlingdev-mariadb-pv-claim
|
||||||
@@ -1,43 +1,43 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-memcached
|
name: wrestlingdev-memcached
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- port: 11211
|
- port: 11211
|
||||||
selector:
|
selector:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
tier: memcached
|
tier: memcached
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: wrestlingdev-memcached-deployment
|
name: wrestlingdev-memcached-deployment
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: wrestlingdev
|
app: wrestlingdev
|
||||||
tier: memcached
|
tier: memcached
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: wrestlingdev-memcached
|
- name: wrestlingdev-memcached
|
||||||
image: memcached
|
image: memcached
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 11211
|
- containerPort: 11211
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: "0.2"
|
cpu: "0.2"
|
||||||
memory: "64Mi"
|
memory: "64Mi"
|
||||||
requests:
|
requests:
|
||||||
memory: "64Mi"
|
memory: "64Mi"
|
||||||
cpu: "0.1"
|
cpu: "0.1"
|
||||||
177
deploy/kubernetes/wdev/wrestlingdev.yaml
Normal file
177
deploy/kubernetes/wdev/wrestlingdev.yaml
Normal 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
|
||||||
@@ -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"
|
|
||||||
@@ -51,6 +51,7 @@ EXPOSE 443
|
|||||||
# Tini solves the zombie PID problem
|
# Tini solves the zombie PID problem
|
||||||
ENTRYPOINT ["/tini", "--"]
|
ENTRYPOINT ["/tini", "--"]
|
||||||
|
|
||||||
CMD bundle exec puma -w 3 -t 5:5 -b 'tcp://0.0.0.0:80' -e production
|
CMD bundle exec passenger start --max-pool-size 3 --environment production -p 80
|
||||||
|
#CMD bundle exec puma -w 3 -t 5:5 -b 'tcp://0.0.0.0:80' -e production
|
||||||
#CMD bundle exec puma -w 3 -t 5:5 -b 'ssl://0.0.0.0:443?key=/ssl/server.key&verify_mode=none&cert=/ssl/server.crt' -e production
|
#CMD bundle exec puma -w 3 -t 5:5 -b 'ssl://0.0.0.0:443?key=/ssl/server.key&verify_mode=none&cert=/ssl/server.crt' -e production
|
||||||
#CMD bundle exec passenger start --max-pool-size 3 --environment production --ssl --ssl-certificate /ssl/server.crt --ssl-certificate-key /ssl/server.key
|
#CMD bundle exec passenger start --max-pool-size 3 --environment production --ssl --ssl-certificate /ssl/server.crt --ssl-certificate-key /ssl/server.key
|
||||||
|
|||||||
Reference in New Issue
Block a user