apiVersion: v1
kind: Service
metadata:
  name: billing-metadb
spec:
  selector:
    app.kubernetes.io/name: billing-metadb
  ports:
    - name: mysql
      port: 3306
      targetPort: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: billing-metadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: billing-metadb
  template:
    metadata:
      labels:
        app.kubernetes.io/name: billing-metadb
    spec:
      containers:
        - name: mysql
          image: mysql:8.0
          ports:
            - name: mysql
              containerPort: 3306
          env:
            - name: MYSQL_DATABASE
              value: billing2
            - name: MYSQL_ROOT_PASSWORD
              value: cp9-local
          readinessProbe:
            exec:
              command: ["mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-pcp9-local"]
            initialDelaySeconds: 5
            periodSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
  name: billing-redis
spec:
  selector:
    app.kubernetes.io/name: billing-redis
  ports:
    - name: redis
      port: 6379
      targetPort: redis
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: billing-redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: billing-redis
  template:
    metadata:
      labels:
        app.kubernetes.io/name: billing-redis
    spec:
      containers:
        - name: redis
          image: redis:7-alpine
          ports:
            - name: redis
              containerPort: 6379
