Files
2026-05-31 16:07:30 +02:00

494 lines
12 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: mongo-configsvr
namespace: mongodb
labels:
app: mongo-configsvr
spec:
clusterIP: None
selector:
app: mongo-configsvr
ports:
- port: 27019
targetPort: 27019
name: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo-configsvr
namespace: mongodb
spec:
serviceName: mongo-configsvr
replicas: 3
selector:
matchLabels:
app: mongo-configsvr
template:
metadata:
labels:
app: mongo-configsvr
role: configsvr
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
initContainers:
- name: fix-permissions
image: busybox:1.36
command: ["sh", "-c", "chown -R 999:999 /data/db"]
volumeMounts:
- name: data
mountPath: /data/db
containers:
- name: mongod
image: mongo:8.0
command:
- mongod
- --configsvr
- --replSet=configReplSet
- --port=27019
- --dbpath=/data/db
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27019
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
volumeMounts:
- name: data
mountPath: /data/db
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ReadWriteOnce]
storageClassName: local-storage
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: Service
metadata:
name: mongo-shard0
namespace: mongodb
labels:
app: mongo-shard0
spec:
clusterIP: None
selector:
app: mongo-shard0
ports:
- port: 27018
targetPort: 27018
name: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo-shard0
namespace: mongodb
spec:
serviceName: mongo-shard0
replicas: 2
selector:
matchLabels:
app: mongo-shard0
template:
metadata:
labels:
app: mongo-shard0
role: shardsvr
shard: "0"
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
initContainers:
- name: fix-permissions
image: busybox:1.36
command: ["sh", "-c", "chown -R 999:999 /data/db"]
volumeMounts:
- name: data
mountPath: /data/db
containers:
- name: mongod
image: mongo:8.0
command:
- mongod
- --shardsvr
- --replSet=shard0ReplSet
- --port=27018
- --dbpath=/data/db
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27018
resources:
requests:
memory: "512Mi"
cpu: "200m"
limits:
memory: "1Gi"
cpu: "1000m"
volumeMounts:
- name: data
mountPath: /data/db
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ReadWriteOnce]
storageClassName: local-storage
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: mongo-shard0-arbiter
namespace: mongodb
labels:
app: mongo-shard0-arbiter
spec:
clusterIP: None
selector:
app: mongo-shard0-arbiter
ports:
- port: 27018
targetPort: 27018
name: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo-shard0-arbiter
namespace: mongodb
spec:
serviceName: mongo-shard0-arbiter
replicas: 1
selector:
matchLabels:
app: mongo-shard0-arbiter
template:
metadata:
labels:
app: mongo-shard0-arbiter
role: shard0-arbiter
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
containers:
- name: mongod
image: mongo:8.0
command:
- mongod
- --shardsvr
- --replSet=shard0ReplSet
- --port=27018
- --dbpath=/data/arb
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27018
resources:
requests:
memory: "128Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "200m"
volumeMounts:
- name: arbiter-data
mountPath: /data/arb
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: arbiter-data
emptyDir: {}
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400
---
apiVersion: v1
kind: Service
metadata:
name: mongo-shard1
namespace: mongodb
labels:
app: mongo-shard1
spec:
clusterIP: None
selector:
app: mongo-shard1
ports:
- port: 27018
targetPort: 27018
name: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo-shard1
namespace: mongodb
spec:
serviceName: mongo-shard1
replicas: 2
selector:
matchLabels:
app: mongo-shard1
template:
metadata:
labels:
app: mongo-shard1
role: shardsvr
shard: "1"
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
initContainers:
- name: fix-permissions
image: busybox:1.36
command: ["sh", "-c", "chown -R 999:999 /data/db"]
volumeMounts:
- name: data
mountPath: /data/db
containers:
- name: mongod
image: mongo:8.0
command:
- mongod
- --shardsvr
- --replSet=shard1ReplSet
- --port=27018
- --dbpath=/data/db
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27018
resources:
requests:
memory: "512Mi"
cpu: "200m"
limits:
memory: "1Gi"
cpu: "1000m"
volumeMounts:
- name: data
mountPath: /data/db
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ReadWriteOnce]
storageClassName: local-storage
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: mongo-shard1-arbiter
namespace: mongodb
labels:
app: mongo-shard1-arbiter
spec:
clusterIP: None
selector:
app: mongo-shard1-arbiter
ports:
- port: 27018
targetPort: 27018
name: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo-shard1-arbiter
namespace: mongodb
spec:
serviceName: mongo-shard1-arbiter
replicas: 1
selector:
matchLabels:
app: mongo-shard1-arbiter
template:
metadata:
labels:
app: mongo-shard1-arbiter
role: shard1-arbiter
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
containers:
- name: mongod
image: mongo:8.0
command:
- mongod
- --shardsvr
- --replSet=shard1ReplSet
- --port=27018
- --dbpath=/data/arb
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27018
resources:
requests:
memory: "128Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "200m"
volumeMounts:
- name: arbiter-data
mountPath: /data/arb
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: arbiter-data
emptyDir: {}
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400
---
apiVersion: v1
kind: Service
metadata:
name: mongo-mongos
namespace: mongodb
labels:
app: mongo-mongos
spec:
type: NodePort
selector:
app: mongo-mongos
ports:
- port: 27017
targetPort: 27017
name: mongo
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo-mongos
namespace: mongodb
spec:
replicas: 2
selector:
matchLabels:
app: mongo-mongos
template:
metadata:
labels:
app: mongo-mongos
role: mongos
spec:
terminationGracePeriodSeconds: 30
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: [pisvrwsv07, pisvrwsv08]
containers:
- name: mongos
image: mongo:8.0
command:
- mongos
- --configdb
- configReplSet/mongo-configsvr-0.mongo-configsvr.mongodb.svc.cluster.local:27019,mongo-configsvr-1.mongo-configsvr.mongodb.svc.cluster.local:27019,mongo-configsvr-2.mongo-configsvr.mongodb.svc.cluster.local:27019
- --port=27017
- --keyFile=/etc/mongo/keyfile
- --bind_ip_all
ports:
- containerPort: 27017
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"
volumeMounts:
- name: keyfile
mountPath: /etc/mongo
readOnly: true
volumes:
- name: keyfile
secret:
secretName: mongo-keyfile
defaultMode: 0400