From 2f6ca39adba268b5bab1594cacc216dd735c7f19 Mon Sep 17 00:00:00 2001 From: diogo Date: Thu, 30 Sep 2021 11:31:01 -0300 Subject: [PATCH] k8s --- cluster.yaml | 11 +++++++ k8s/cluster.yaml | 12 ++++++++ k8s/manifest.yaml | 78 +++++++++++++++++++++++++++++++++++++++++++++++ src/Dockerfile | 7 +++++ 4 files changed, 108 insertions(+) create mode 100644 cluster.yaml create mode 100644 k8s/cluster.yaml create mode 100644 k8s/manifest.yaml create mode 100644 src/Dockerfile diff --git a/cluster.yaml b/cluster.yaml new file mode 100644 index 000000000..245402b05 --- /dev/null +++ b/cluster.yaml @@ -0,0 +1,11 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/vlalpha4 +nodes: +- role: control-plane +- role: control-plane +- role: worker +- role: worker +- role: worker + extraPortMappings: + - containerPort: 30000 + hostPort: 8080 \ No newline at end of file diff --git a/k8s/cluster.yaml b/k8s/cluster.yaml new file mode 100644 index 000000000..a0db6518f --- /dev/null +++ b/k8s/cluster.yaml @@ -0,0 +1,12 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: +- role: control-plane +- role: control-plane +- role: worker +- role: worker +- role: worker +- role: worker + extraPortMappings: + - containerPort: 30000 + hostPort: 8080 diff --git a/k8s/manifest.yaml b/k8s/manifest.yaml new file mode 100644 index 000000000..4c82294fe --- /dev/null +++ b/k8s/manifest.yaml @@ -0,0 +1,78 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mongodb +spec: + selector: + matchLabels: + app: mongodb + template: + metadata: + labels: + app: mongodb + spec: + containers: + - name: mongodb + image: mongo:4.4.9 + ports: + - containerPort: 27017 + env: + - name: MONGO_INITDB_ROOT_USERNAME + value: "mongouser" + - name: MONGO_INITDB_ROOT_PASSWORD + value: "mongopwd" +--- +apiVersion: v1 +kind: Service +metadata: + name: mongodb +spec: + selector: + app: mongodb + ports: + - port: 27017 + type: ClusterIP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web +spec: + replicas: 1 + selector: + matchLabels: + app: web + template: + metadata: + labels: + app: web + spec: + containers: + - name: web + image: jmscatena/rotten-potatoes:v1 + ports: + - containerPort: 5000 + env: + - name: MONGODB_DB + value: "admin" + - name: MONGODB_HOST + value: "mongodb" + - name: MONGODB_PORT + value: "27017" + - name: MONGODB_USERNAME + value: "mongouser" + - name: MONGODB_PASSWORD + value: "mongopwd" +--- +apiVersion: v1 +kind: Service +metadata: + name: web +spec: + selector: + app: web + ports: + - port: 80 + targetPort: 5000 + nodePort: 30000 + type: NodePort diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 000000000..57207e8cb --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,7 @@ +FROM python:3.8 +WORKDIR /app +COPY requirements.txt . +RUN python -m pip install -r requirements.txt +COPY . . +EXPOSE 5000 +CMD ["gunicorn", "--workers=3", "--bind", "0.0.0.0:5000", "app:app"]