apiVersion: apps/v1 kind: Deployment metadata: name: backend labels: app.kubernetes.io/name: backend spec: replicas: 2 selector: matchLabels: app: demo tier: backend template: metadata: labels: app: demo tier: backend app.kubernetes.io/name: backend spec: containers: - name: json-mock image: quay.io/cilium/json-mock --- apiVersion: apps/v1 kind: Deployment metadata: name: frontend labels: app.kubernetes.io/name: frontend spec: replicas: 2 selector: matchLabels: app: demo tier: frontend template: metadata: labels: app: demo tier: frontend app.kubernetes.io/name: frontend spec: containers: - name: nginx image: nginx:alpine --- apiVersion: apps/v1 kind: Deployment metadata: name: database labels: app.kubernetes.io/name: database spec: replicas: 2 selector: matchLabels: app: demo tier: database template: metadata: labels: app: demo tier: database app.kubernetes.io/name: database spec: containers: - name: redis image: docker.io/nicolas/webdis:0.1.22 --- apiVersion: v1 kind: Service metadata: name: backend labels: app.kubernetes.io/name: backend spec: type: ClusterIP ports: - port: 80 selector: app: demo tier: backend --- apiVersion: v1 kind: Service metadata: name: frontend labels: app.kubernetes.io/name: frontend spec: type: ClusterIP ports: - port: 80 selector: app: demo tier: frontend --- apiVersion: v1 kind: Service metadata: name: database labels: app.kubernetes.io/name: database spec: type: ClusterIP ports: - port: 80 targetPort: 7379 selector: app: demo tier: database