From 8671147c79650c4fe4631dce21b2cf9c7e96ac0b Mon Sep 17 00:00:00 2001 From: starnakin Date: Thu, 27 Feb 2025 07:47:22 -0500 Subject: [PATCH] part2 is done (with volumes and a different index for each service) --- p2/confs/app1.yaml | 14 ++++++++++++-- p2/confs/app2.yaml | 42 ++++++++++++++++++++++++++++++++++++++++++ p2/confs/app3.yaml | 42 ++++++++++++++++++++++++++++++++++++++++++ p2/confs/indexes.yaml | 11 +++++++++++ p2/confs/ingress.yaml | 38 ++++++++++++++++++++++++++++++++++++++ p2/scripts/minikube.sh | 18 +++++++++++++++--- 6 files changed, 160 insertions(+), 5 deletions(-) create mode 100644 p2/confs/app2.yaml create mode 100644 p2/confs/app3.yaml create mode 100644 p2/confs/indexes.yaml create mode 100644 p2/confs/ingress.yaml diff --git a/p2/confs/app1.yaml b/p2/confs/app1.yaml index 5023773..d53ee11 100644 --- a/p2/confs/app1.yaml +++ b/p2/confs/app1.yaml @@ -17,11 +17,22 @@ spec: containers: - name: app1 image: nginx:1.14.2 + volumeMounts: + - name: indexes + mountPath: /usr/share/nginx/html/index.html + subPath: app1 + volumes: + - name: indexes + configMap: + name: indexes + items: + - key: app1 + path: app1 --- apiVersion: v1 kind: Service metadata: - name: app1 + name: app1-service spec: type: NodePort selector: @@ -29,4 +40,3 @@ spec: ports: - port: 80 targetPort: 80 - nodePort: 30080 diff --git a/p2/confs/app2.yaml b/p2/confs/app2.yaml new file mode 100644 index 0000000..c5c560e --- /dev/null +++ b/p2/confs/app2.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app2-deployment + labels: + app: app2 +spec: + replicas: 3 + selector: + matchLabels: + app: app2 + template: + metadata: + labels: + app: app2 + spec: + containers: + - name: app2 + image: nginx:1.14.2 + volumeMounts: + - name: indexes + mountPath: /usr/share/nginx/html/index.html + subPath: app2 + volumes: + - name: indexes + configMap: + name: indexes + items: + - key: app2 + path: app2 +--- +apiVersion: v1 +kind: Service +metadata: + name: app2-service +spec: + type: NodePort + selector: + app: app2 + ports: + - port: 80 + targetPort: 80 diff --git a/p2/confs/app3.yaml b/p2/confs/app3.yaml new file mode 100644 index 0000000..0bfffcb --- /dev/null +++ b/p2/confs/app3.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app3-deployment + labels: + app: app3 +spec: + replicas: 1 + selector: + matchLabels: + app: app3 + template: + metadata: + labels: + app: app3 + spec: + containers: + - name: app3 + image: nginx:1.14.2 + volumeMounts: + - name: indexes + mountPath: /usr/share/nginx/html/index.html + subPath: app3 + volumes: + - name: indexes + configMap: + name: indexes + items: + - key: app3 + path: app3 +--- +apiVersion: v1 +kind: Service +metadata: + name: app3-service +spec: + type: NodePort + selector: + app: app3 + ports: + - port: 80 + targetPort: 80 diff --git a/p2/confs/indexes.yaml b/p2/confs/indexes.yaml new file mode 100644 index 0000000..65db653 --- /dev/null +++ b/p2/confs/indexes.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: indexes +data: + app1: | +

App1

+ app2: | +

App2

+ app3: | +

App3

diff --git a/p2/confs/ingress.yaml b/p2/confs/ingress.yaml new file mode 100644 index 0000000..e1ab827 --- /dev/null +++ b/p2/confs/ingress.yaml @@ -0,0 +1,38 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: minimal-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + ingressClassName: nginx # Ensure this matches your Ingress class + rules: + - host: "app1.com" + http: + paths: # Ensure correct indentation under "http" + - path: "/" + pathType: Prefix + backend: + service: + name: app1-service + port: + number: 80 + - host: "app2.com" + http: + paths: # Ensure correct indentation under "http" + - path: "/" + pathType: Prefix + backend: + service: + name: app2-service + port: + number: 80 + - http: + paths: # Ensure correct indentation under "http" + - path: "/" + pathType: Prefix + backend: + service: + name: app3-service + port: + number: 80 diff --git a/p2/scripts/minikube.sh b/p2/scripts/minikube.sh index 09965de..4b53917 100644 --- a/p2/scripts/minikube.sh +++ b/p2/scripts/minikube.sh @@ -1,7 +1,8 @@ #!/bin/sh # this is some weird stuff nws -alias jj='sudo rm -rf /tmp/juju*' +echo "alias jj='sudo rm -rf /tmp/juju*'" >> /home/vagrant/.bashrc +source /home/vagrant/.bashrc # install docker sudo apt-get update @@ -26,5 +27,16 @@ curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikub sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64 sudo minikube start --driver=docker --force -jj -sudo minikube kubectl -- apply -f /vagrant/confs/app1.yaml + +sudo minikube addons enable ingress + +sudo minikube kubectl -- apply -f /vagrant/confs/indexes.yaml + +sudo minikube kubectl -- apply -f /vagrant/confs/app1.yaml +sudo minikube kubectl -- apply -f /vagrant/confs/app2.yaml +sudo minikube kubectl -- apply -f /vagrant/confs/app3.yaml + +until sudo minikube kubectl -- apply -f /vagrant/confs/ingress.yaml +do + echo ingress failed try again +done