############################################## # Persistent Volume (hostPath on mist) ############################################## apiVersion: v1 kind: PersistentVolume metadata: name: dbeaver-pv spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: dbeaver-local-storage local: path: /home/kimjunte/k8s_storage/dbeaver nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - mist --- ############################################## # Persistent Volume Claim ############################################## apiVersion: v1 kind: PersistentVolumeClaim metadata: name: dbeaver-pvc namespace: default spec: accessModes: - ReadWriteOnce storageClassName: dbeaver-local-storage resources: requests: storage: 5Gi --- ############################################## # Deployment (CloudBeaver CE) ############################################## apiVersion: apps/v1 kind: Deployment metadata: name: dbeaver namespace: default spec: replicas: 1 selector: matchLabels: app: dbeaver template: metadata: labels: app: dbeaver spec: nodeSelector: kubernetes.io/hostname: mist containers: - name: dbeaver image: dbeaver/cloudbeaver:latest ports: - containerPort: 8978 env: - name: TZ value: "Europe/London" # IMPORTANT: Force Community Edition (no license checks) - name: CB_DISABLE_LICENSE value: "true" - name: CB_SERVER_URL value: https://dbeaver.juntekim.com - name: CB_SERVER_PROXY_TRUSTED value: "true" - name: CB_SERVER_PROXY_ENABLED value: "true" volumeMounts: - name: dbeaver-data mountPath: /opt/cloudbeaver/workspace # readinessProbe: # httpGet: # path: / # port: 8978 # initialDelaySeconds: 15 # periodSeconds: 10 # livenessProbe: # httpGet: # path: / # port: 8978 # initialDelaySeconds: 30 # periodSeconds: 20 volumes: - name: dbeaver-data persistentVolumeClaim: claimName: dbeaver-pvc --- ############################################## # Service ############################################## apiVersion: v1 kind: Service metadata: name: dbeaver namespace: default spec: selector: app: dbeaver ports: - name: http port: 8978 targetPort: 8978 --- ############################################## # Traefik IngressRoute ############################################## apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: dbeaver namespace: default spec: entryPoints: - websecure routes: - match: Host(`dbeaver.juntekim.com`) kind: Rule services: - name: dbeaver port: 8978 passHostHeader: true tls: certResolver: myresolver