--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mongo-release provisioner: kubernetes.io/no-provisioner allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer --- apiVersion: v1 kind: PersistentVolume metadata: name: mongo-release-0 labels: type: local spec: storageClassName: mongo-release capacity: storage: 10Gi accessModes: - ReadWriteOnce local: path: /data/release/mongo nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: app.kubernetes.io/name operator: In values: - trainer - key: kubernetes.io/hostname operator: In values: - bfs-k8snode-10-2-0-13.hetzner.base.beaconfireinc.com --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo spec: replicas: 1 serviceName: mongo selector: matchLabels: app: mongo template: metadata: labels: app: mongo spec: containers: - name: mongo image: mongo:6.0.6 imagePullPolicy: IfNotPresent env: - name: MONGO_INITDB_ROOT_USERNAME value: root - name: MONGO_INITDB_ROOT_PASSWORD value: 'root@123' ports: - containerPort: 27017 volumeMounts: - name: mongo-data mountPath: /data/db volumeClaimTemplates: - metadata: name: mongo-data spec: accessModes: ['ReadWriteOnce'] storageClassName: "mongo-release" resources: requests: storage: 5Gi --- apiVersion: v1 kind: Service metadata: name: mongo spec: selector: app: mongo ports: - name: mongo protocol: TCP port: 27017 targetPort: 27017 nodePort: 30018 type: NodePort