Skip to content

Commit

Permalink
initial k8s configs
Browse files Browse the repository at this point in the history
  • Loading branch information
morgajel committed Apr 1, 2019
1 parent caac815 commit 692336e
Show file tree
Hide file tree
Showing 9 changed files with 100 additions and 98 deletions.
Expand Up @@ -4,10 +4,10 @@ WORKDIR /app
#COPY megacosm log run.py requirements.txt /app/
COPY . /app
COPY config.py.example /app/config.py
EXPOSE 8000
RUN pip install --no-cache-dir --trusted-host pypi.python.org -r requirements.txt
EXPOSE 8000
CMD [ "/usr/local/bin/python", "run.py"]
#CMD [ "/usr/local/bin/python", "run.py"]
#CMD '/bin/bash'
#/var/www/megacosm.morgajel.net/.env/bin/gunicorn --pid /var/run/megacosm/pid --bind unix:/var/run/megacosm/socket megacosm:app -w 2
CMD ["gunicorn", "megacosm:app", "-w", "4" ]
92 changes: 0 additions & 92 deletions TF/main.tf
@@ -1,96 +1,4 @@
provider "kubernetes" {}

resource "kubernetes_namespace" "megacosm" {
metadata {
name = "megacosm"
}
}


resource "kubernetes_deployment" "megacosm-deployment" {
metadata {
name = "megacosm-deployment"
labels {
test = "Megacosm"
}
}

spec {
replicas = 2

selector {
match_labels {
test = "Megacosm"
}
}

template {
metadata {
labels {
test = "Megacosm"
}
}
spec {
container {
image = "redis:latest"
name = "redis"
resources{
limits{
cpu = "0.5"
memory = "512Mi"
}
requests{
cpu = "250m"
memory = "50Mi"
}
}
}
container {
image="python:3.7"
name = "data-loader"
}
}
}
}
}



//resource "kubernetes_service" "redis-service" {
// metadata {
// name = "redis-service"
// }
// spec {
// selector {
// app = "${kubernetes_pod.redis.metadata.0.labels.app}"
// }
// session_affinity = "ClientIP"
// port {
// port = 16379
// target_port = 6379
// }
//
// type = "LoadBalancer"
// }
//}

resource "kubernetes_pod" "megacosm" {
metadata {
name = "megacosm"
labels {
app = "Megacosm"
}
}

spec {
container {
image = "redis:latest"
name = "redis"
}
container {
image = "python"
name = "redis"
}
}
}

12 changes: 9 additions & 3 deletions k8s/dataloader.yml → k8s/megacosm-dataloader-job.yml
@@ -1,7 +1,8 @@
---
apiVersion: batch/v1
kind: Job
metadata:
name: single-job
name: megacosm-dataloader
spec:
backoffLimit: 6 # number of retries before throwing error
activeDeadlineSeconds: 10 # time to allow job to run
Expand All @@ -17,6 +18,11 @@ spec:
image: megacosm-dataloader:latest
env:
- name: REDISHOST
value: localhost
resourceFieldRef:
serviceName: megacosm-redis
resource: medadata.name
- name: REDISPORT
value: 6379
resourceFieldRef:
serviceName: megacosm-redis
resource: spec.ports.port

4 changes: 4 additions & 0 deletions k8s/megacosm-namespace.yml
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: megacosm
23 changes: 23 additions & 0 deletions k8s/megacosm-redis-deployment.yml
@@ -0,0 +1,23 @@
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
name: megacosm-redis
spec:
selector:
matchLabels:
app: megacosm-redis
replicas: 2
template:
metadata:
labels:
app: megacosm-redis
spec:
containers:
- name: megacosm-redis
image: morgajel/megacosm-redis # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
13 changes: 13 additions & 0 deletions k8s/megacosm-redis-service.yml
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: Service
metadata:
name: megacosm-redis
labels:
app: megacosm-redis
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: megacosm-redis
21 changes: 21 additions & 0 deletions k8s/megacosm-webapp-deployment.yml
@@ -0,0 +1,21 @@
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
name: megacosm-webapp
spec:
selector:
matchLabels:
app: megacosm-webapp
replicas: 2
template:
metadata:
labels:
app: megacosm-webapp
spec:
containers:
- name: megacosm-webapp
image: morgajel/megacosm-webapp:latest
resources:
ports:
- containerPort: 8000

14 changes: 14 additions & 0 deletions k8s/megacosm-webapp-ingress.yml
@@ -0,0 +1,14 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: megacosm-webapp-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: megacosm-webapp
servicePort: 8000
13 changes: 13 additions & 0 deletions k8s/megacosm-webapp-service.yml
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: Service
metadata:
name: megacosm-webapp
labels:
app: megacosm-webapp
spec:
ports:
- port: 8000
targetPort: 8000
selector:
app: megacosm-webapp

0 comments on commit 692336e

Please sign in to comment.