Message forum created using Python3, MongoDB, Jinja2, MetalLB, and Metrics Server.
git clone https://github.com/aarole/k8s-message-board.git
cd k8s-message-board/
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl get pods -n kube-system
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml
Create ConfigMap to configure MetalLB.
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.10.2-192.168.10.10
Apply ConfigMap.
kubectl apply -f /path/to/configmap.yaml
kubectl apply -f ./mongo/pv.yaml
kubectl apply -f ./mongo/pvc.yaml
kubectl apply -f ./mongo/deployment.yaml
kubectl apply -f ./mongo/service.yaml
kubectl apply -f ./flask/deployment.yaml
kubectl apply -f ./flask/service.yaml
kubectl apply -f ./flask/ingress.yaml
kubectl apply -f ./flask/hpa.yaml
Get the external IP assigned to the LoadBalancer.
kubectl get svc flask-svc
Access the application using a browser.
http://LOADBALANCER_EXTERNAL_IP