apiVersion: apps/v1
kind: Deployment
metadata:
  name: java-disk
  namespace: default
  labels:
    app-name: java-disk
spec:
  replicas: 1
  minReadySeconds: 30
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  selector:
    matchLabels:
      app-name: java-disk
  template:
    metadata:
      labels:
        app-name: java-disk
    spec:
      nodeSelector:
        type: deployment
      containers:
        - name: java-disk
          image: harbor.svnlan.com/library/java/disk:latest
          imagePullPolicy: Always
          securityContext:
            privileged: true
          ports:
            - containerPort: 80
              name: disk
              protocol: TCP
          volumeMounts:
            - name: nfs-pvc-svnlan-cloud-disk
              mountPath: "/uploads"
            - name: nfs-pvc-svnlan-log30
              mountPath: "/log"
            - name: mem
              mountPath: "/dev/mem"
      volumes:
        - name: nfs-pvc-svnlan-cloud-disk
          persistentVolumeClaim:
            claimName: svnlan-cloud-disk
        - name: nfs-pvc-svnlan-log30
          hostPath:
            path: /data0/logs/app
        - name: mem
          hostPath:
            path: /dev/mem