Hi,
i need heeeeeeeeelp
I have my application developped with spring boot for backend , angular for frontend and mongodb .
I created 3 docker images ; front, back, and mongodb. The containers communicate with each other successefully .
The front image is configured with nginx using port 85.
Now i created 3 pods in k8s for each image and associated them with services with ingress configuration.
My pods are running correctly in minikube and the yaml format is correct in my real environment , it’s just when i copied it here seems in bad format.But i don’t have any problem with the format
the front service is NodePort type and the others are clusterIp .
but when i access http://minikubeip:nodeport i find nothing!!
Here is my configuration :
Pods.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: front
spec:
selector:
matchLabels:
app: front
replicas: 1
template:
metadata:
labels:
app: front
spec:
containers:
- name: front
image: chaima31991/angularimage
imagePullPolicy: Always
ports:**
- containerPort: 85
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
resources:
requests:
cpu: 40m
memory: 40Mi
env:
- name: SPRING_PROFILES_ACTIVE
value: production-microservice
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: back
spec:
selector:
matchLabels:
app: back
replicas: 1
template:
metadata:
labels:
app: back
spec:
containers:
- name: back
image: chaima31991/springimage
imagePullPolicy: Always
ports:
- containerPort: 8080
resources:
requests:
cpu: 40m
memory: 40Mi
env:
- name: SPRING_PROFILES_ACTIVE
value: production-microservice
**services.yaml:**
apiVersion: v1
kind: Service
metadata:
name: back
labels:
app: back
spec:
selector:
app: back
ports:
- port: 8080
protocol: TCP
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: front
labels:
app: front
spec:
selector:
app: front
ports:
- port: 85
targetPort: 85
protocol: TCP
type: NodePort
**mongo.yaml :**
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb
spec:
selector:
matchLabels:
app: mongodb
replicas: 1
template: # template for the pods
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: chaima31991/mongoimage
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
volumes:
- name: mongo-persistent-storage
persistentVolumeClaim:
claimName: mypvc
---
kind: Service
apiVersion: v1
metadata:
name: mongodb
spec:
selector:
app: mongodb
ports:
- name: mongoport
port: 27017
type: ClusterIP
**storge.yaml :**
What do want?
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 60Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: new-local-storage
spec:
storageClassName: slow
capacity:
storage: 60Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/some new/directory/structure/"
type: DirectoryOrCreate
**ingress.yaml :**
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: back
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: back
servicePort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: front
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: front
servicePort: 85
Thank you for helppp