OKR/dev-upgrade/mongo/mongo-dev.yaml

95 lines
1.8 KiB
YAML

---
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: mongo-dev
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: "mongo-dev"
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