apiVersion: apps/v1 kind: Deployment metadata: name: api-app-backend labels: app: api-app-backend spec: replicas: 2 selector: matchLabels: app: api-app-backend template: metadata: labels: app: api-app-backend spec: containers: - name: api-app-backend image: agnes4im/api-app-backend:v2.0 ports: - containerPort: 3333 env: - name: OUOTE_API_KEY valueFrom: secretKeyRef: name: api key: quote-api-key resources: limits: cpu: 70m memory: 60Mi --- apiVersion: v1 kind: Service metadata: name: api-app-backend labels: app: api-app-backend spec: type: ClusterIP ports: - name: api-app-backend port: 3333 targetPort: 3333 selector: app: api-app-backend --- apiVersion: apps/v1 kind: Deployment metadata: name: api-app-frontend labels: app: api-app-frontend spec: replicas: 2 selector: matchLabels: app: api-app-frontend template: metadata: labels: app: api-app-frontend spec: containers: - name: api-app-frontend image: agnes4im/api-app-frontend:v2.0 ports: - containerPort: 3000 resources: limits: cpu: 70m memory: 60Mi --- apiVersion: v1 kind: Service metadata: name: api-app-frontend labels: app: api-app-frontend spec: type: LoadBalancer ports: - name: api-app-frontend port: 3000 targetPort: 3000 selector: app: api-app-frontend --- # Prometheus serviceMonitor component to scrape api-app-backend metrics... apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: api-app-backend-monitoring labels: release: monitoring app: api-app-backend-monitoring spec: endpoints: - path: /metrics port: api-app-backend targetPort: 3333 namespaceSelector: matchNames: - default selector: matchLabels: app: api-app-backend-monitoring