# Complete Manifest Where in single yml we defined Deployment & Service for SpringApp & PVC(with default StorageClass),ReplicaSet & Service For Mongo. apiVersion: apps/v1 kind: Deployment metadata: name: springappdeployment spec: replicas: 2 selector: matchLabels: app: springapp template: metadata: name: springapppod labels: app: springapp spec: containers: - name: springappcontainer image: mylandmarktech/spring-boot-mongo ports: - containerPort: 8080 env: - name: MONGO_DB_USERNAME value: devdb - name: MONGO_DB_PASSWORD value: devdb@123 - name: MONGO_DB_HOSTNAME value: mongo --- apiVersion: v1 kind: Service metadata: name: springapp spec: selector: app: springapp ports: - port: 80 targetPort: 8080 type: LoadBalancer --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodbpvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: ReplicaSet metadata: name: mongodbrs spec: selector: matchLabels: app: mongodb template: metadata: name: mongodbpod labels: app: mongodb spec: volumes: - name: pvc persistentVolumeClaim: claimName: mongodbpvc containers: - name: mongodbcontainer image: mongo ports: - containerPort: 27017 env: - name: MONGO_INITDB_ROOT_USERNAME value: devdb - name: MONGO_INITDB_ROOT_PASSWORD value: devdb@123 volumeMounts: - name: pvc mountPath: /data/db --- apiVersion: v1 kind: Service metadata: name: mongo spec: type: ClusterIP selector: app: mongodb ports: - port: 27017 targetPort: 27017