VM-Operator/deploy/vmop-deployment.yaml

62 lines
1.9 KiB
YAML
Raw Normal View History

2023-08-09 22:56:00 +02:00
apiVersion: apps/v1
kind: Deployment
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: vm-operator
app.kubernetes.io/component: manager
template:
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
app.kubernetes.io/component: manager
spec:
containers:
- name: vm-operator
image: >-
2025-02-17 10:27:33 +01:00
registry.mnl.de/org/jdrupes/vm-operator/org.jdrupes.vmoperator.manager:testing
imagePullPolicy: Always
2025-03-20 09:33:10 +01:00
env:
- name: JAVA_OPTS
# The VM operator needs about 25 MB of memory, plus 1 MB for
# each VM. The reason is that for the sake of effeciency, we
# have to keep a parsed representation of the CRD in memory,
# which requires about 512 KB per VM. While handling updates,
# we temporarily have the old and the new version of the CRD
# in memory, so we need another 512 KB per VM.
value: "-Xmx128m"
resources:
requests:
cpu: 100m
memory: 128Mi
2023-08-09 22:56:00 +02:00
volumeMounts:
- name: config
mountPath: /etc/opt/vmoperator
- name: vmop-image-repository
mountPath: /var/local/vmop-image-repository
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
volumes:
- name: config
configMap:
name: vm-operator
- name: vmop-image-repository
persistentVolumeClaim:
claimName: vmop-image-repository
nodeSelector:
kubernetes.io/os: linux
serviceAccountName: vm-operator
securityContext:
runAsUser: 65534
runAsNonRoot: true