apiVersion: v1 kind: Service metadata: name: frontend-service namespace: expense-tracker spec: selector: app: frontend ports: - port: 80 targetPort: 5173 type: NodePort --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: expense-tracker-ingress namespace: expense-tracker annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - http: paths: - path: /() pathType: Prefix backend: service: name: frontend-service port: number: 80 - path: /api(/|$)(.*) pathType: Prefix backend: service: name: backend-service port: number: 5000 --- apiVersion: v1 kind: Service metadata: name: backend-service namespace: expense-tracker spec: selector: app: backend ports: - port: 5000 targetPort: 5000 type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: mongodb-service namespace: expense-tracker spec: selector: app: mongodb ports: - port: 27017 targetPort: 27017 type: ClusterIP