Compare commits
No commits in common. "6f8fa4c9dc526cccd896fae8caabe64a9d21e0d0" and "bf30e78133cba96c493a33d60e1773ff67dd3d1d" have entirely different histories.
6f8fa4c9dc
...
bf30e78133
|
|
@ -1 +0,0 @@
|
||||||
shoppinglist-frontend.tar
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
FROM python:3.11-slim
|
|
||||||
WORKDIR /app
|
|
||||||
COPY app.py .
|
|
||||||
RUN pip install flask redis
|
|
||||||
CMD ["python", "app.py"]
|
|
||||||
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
all: cluster image load apply restart check
|
|
||||||
|
|
||||||
# TODO: maybe background this?
|
|
||||||
cluster:
|
|
||||||
k3d cluster create mycluster --port "8080:80@loadbalancer" --port "8443:443@loadbalancer"
|
|
||||||
kubectl label node k3d-mycluster-server-0 ingress-ready=true
|
|
||||||
k3d cluster list
|
|
||||||
|
|
||||||
image: Dockerfile
|
|
||||||
docker build -t shoppinglist-frontend:latest .
|
|
||||||
|
|
||||||
# TODO: This is not working on my system
|
|
||||||
load:
|
|
||||||
k3d image import shoppinglist-frontend:latest -c mycluster
|
|
||||||
#docker save shoppinglist-frontend:latest -o shoppinglist-frontend.tar
|
|
||||||
#k3d image import ./shoppinglist-frontend.tar -c mycluster
|
|
||||||
|
|
||||||
apply:
|
|
||||||
kubectl apply -f k8s/
|
|
||||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/kind/deploy.yaml
|
|
||||||
|
|
||||||
restart:
|
|
||||||
kubectl delete pod -l app=shoppinglist-frontend
|
|
||||||
|
|
||||||
check:
|
|
||||||
kubectl get pods
|
|
||||||
kubectl get pods -n ingress-nginx
|
|
||||||
|
|
||||||
watch:
|
|
||||||
kubectl get pods -l app=shoppinglist-frontend -w
|
|
||||||
|
|
||||||
clobber:
|
|
||||||
k3d cluster delete mycluster
|
|
||||||
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
# app.py
|
|
||||||
from flask import Flask, request, jsonify
|
|
||||||
import redis
|
|
||||||
|
|
||||||
import random
|
|
||||||
|
|
||||||
my_random_id = random.randrange(100)
|
|
||||||
|
|
||||||
r = redis.Redis(host='redis', port=6379)
|
|
||||||
app = Flask(__name__)
|
|
||||||
|
|
||||||
@app.route("/id", methods=["GET"])
|
|
||||||
def id():
|
|
||||||
return f"{my_random_id}\n"
|
|
||||||
|
|
||||||
@app.route("/items", methods=["GET", "POST"])
|
|
||||||
def items():
|
|
||||||
if request.method == "POST":
|
|
||||||
item = request.json.get("item")
|
|
||||||
if item:
|
|
||||||
r.rpush("shopping_list", item)
|
|
||||||
return '', 204
|
|
||||||
else:
|
|
||||||
items = r.lrange("shopping_list", 0, -1)
|
|
||||||
return jsonify([i.decode() for i in items])
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
app.run(host="0.0.0.0", port=5000)
|
|
||||||
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: shoppinglist-frontend
|
|
||||||
spec:
|
|
||||||
replicas: 3
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: shoppinglist-frontend
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: shoppinglist-frontend
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: frontend
|
|
||||||
image: shoppinglist-frontend:latest
|
|
||||||
imagePullPolicy: Never
|
|
||||||
ports:
|
|
||||||
- containerPort: 5000
|
|
||||||
env:
|
|
||||||
- name: REDIS_HOST
|
|
||||||
value: redis
|
|
||||||
- name: REDIS_PORT
|
|
||||||
value: "6379"
|
|
||||||
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: shoppinglist-ingress
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
rules:
|
|
||||||
- host: localhost
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: shoppinglist-frontend
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: shoppinglist-frontend
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: shoppinglist-frontend
|
|
||||||
ports:
|
|
||||||
- port: 80
|
|
||||||
targetPort: 5000
|
|
||||||
type: NodePort
|
|
||||||
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: redis
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: redis
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: redis
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: redis
|
|
||||||
image: redis:7-alpine
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: redis
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: redis
|
|
||||||
ports:
|
|
||||||
- port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
all: cluster image load apply restart watch
|
|
||||||
|
|
||||||
cluster: kind-config.yaml
|
cluster: kind-config.yaml
|
||||||
kind create cluster --config kind-config.yaml
|
kind create cluster --config kind-config.yaml
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue