# --- # apiVersion: storage.k8s.io/v1 # kind: StorageClass # metadata: # name: mongo-dev # provisioner: kubernetes.io/no-provisioner # allowVolumeExpansion: true # volumeBindingMode: WaitForFirstConsumer --- apiVersion: v1 kind: PersistentVolume metadata: name: mongo-dev-0 labels: type: local spec: storageClassName: local-storage capacity: storage: 10Gi accessModes: - ReadWriteOnce local: path: /data/dev/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-12.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: local-storage 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