From d9498c66c7cba370cf979a99e76389bf5c2dc8a4 Mon Sep 17 00:00:00 2001 From: Teck Meng Date: Tue, 13 Aug 2024 21:20:11 +0800 Subject: [PATCH] refactor: Update API deployment and service names to match component name change --- cluster/test/api-deployment.yaml | 29 +++++++++++++------------ cluster/test/ingress-service.yaml | 16 +++++++++----- cluster/test/postgres-deployment.yaml | 30 ++++++++++++++++++++++++++ cluster/test/readme.md | 31 +++++++++++++++++++++------ 4 files changed, 81 insertions(+), 25 deletions(-) create mode 100644 cluster/test/postgres-deployment.yaml diff --git a/cluster/test/api-deployment.yaml b/cluster/test/api-deployment.yaml index ad4694f..68fe3a7 100644 --- a/cluster/test/api-deployment.yaml +++ b/cluster/test/api-deployment.yaml @@ -1,27 +1,28 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: postgres-deployment + name: api-deployment spec: replicas: 1 selector: matchLabels: - component: postgres + component: api template: metadata: labels: - component: postgres + component: api spec: - volumes: - - name: postgres-storage - persistentVolumeClaim: - claimName: database-persistent-volume-claim containers: - - name: postgres - image: postgres + - name: api + image: uxioandrade/tutorial-api ports: - - containerPort: 5432 - volumeMounts: - - name: postgres-storage - mountPath: /var/lib/postgresql/data - subPath: postgres \ No newline at end of file + - containerPort: 8080 + env: + - name: PG_HOST + value: postgres-cluster-ip-service + - name: PG_PORT + value: '5432' + - name: PGUSER + value: postgres + - name: PGDATABASE + value: postgres \ No newline at end of file diff --git a/cluster/test/ingress-service.yaml b/cluster/test/ingress-service.yaml index 7fde6e9..4831258 100644 --- a/cluster/test/ingress-service.yaml +++ b/cluster/test/ingress-service.yaml @@ -1,4 +1,4 @@ -apiVersion: extensions/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-service @@ -10,10 +10,16 @@ spec: - http: paths: - path: /?(.*) + pathType: Prefix backend: - serviceName: client-cluster-ip-service - servicePort: 3000 + service: + name: client-cluster-ip-service + port: + number: 3000 - path: /api/?(.*) + pathType: Prefix backend: - serviceName: api-cluster-ip-service - servicePort: 8080 \ No newline at end of file + service: + name: api-cluster-ip-service + port: + number: 8080 \ No newline at end of file diff --git a/cluster/test/postgres-deployment.yaml b/cluster/test/postgres-deployment.yaml new file mode 100644 index 0000000..d6d4bee --- /dev/null +++ b/cluster/test/postgres-deployment.yaml @@ -0,0 +1,30 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres-deployment +spec: + replicas: 1 + selector: + matchLabels: + component: postgres + template: + metadata: + labels: + component: postgres + spec: + volumes: + - name: postgres-storage + persistentVolumeClaim: + claimName: database-persistent-volume-claim + containers: + - name: postgres + image: postgres + env: + - name: POSTGRES_PASSWORD + value: whatever + ports: + - containerPort: 5432 + volumeMounts: + - name: postgres-storage + mountPath: /var/lib/postgresql/data + subPath: postgres \ No newline at end of file diff --git a/cluster/test/readme.md b/cluster/test/readme.md index 637258e..ddbd6b2 100644 --- a/cluster/test/readme.md +++ b/cluster/test/readme.md @@ -1,12 +1,31 @@ # test stack ```bash +minikube start k create ns test kubectl config set-context --current --namespace=test -k apply -f api-deployment.yaml -f client-deployment.yaml -k apply -f database-persistent-volume-claim.yaml -k apply -f api-cluster-ip-service.yaml -k apply -f client-cluster-ip-deployment.yaml -k apply -f postgres-cluster-ip-service.yaml -k apply -f ingress-service.yaml + +# kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml +helm upgrade --install ingress-nginx ingress-nginx \ + --repo https://kubernetes.github.io/ingress-nginx \ + --namespace ingress-nginx --create-namespace +minikube addons enable ingress + +k apply -f test +minikube ip + +minikube tunnel + +# Wait for ingress address + +# kubectl get ingress +# NAME CLASS HOSTS ADDRESS PORTS AGE +# example-ingress nginx * 80 5m45s + +# Note for Docker Desktop Users: +# To get ingress to work you’ll need to open a new terminal window and run minikube tunnel and in the following step use 127.0.0.1 in place of . + +minikube delete --all --purge + + ``` \ No newline at end of file