Has anyone deployed Eramba on a Kubernetes cluster? I have used the ‘kompose’ utility to convert the docker-compose file to a helm chart (https://kompose.io/) and I am able to get mysql and redis running, but the eramba container and the cron jobs I am struggling with.
Error I am now getting:
Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/var/lib/kubelet/pods/f46c04b4-e17b-4b31-a28a-54de4e407dbc/volume-subpaths/000-default-conf/eramba/6" to rootfs at "/etc/apache2/sites-available/000-default.conf": mount /var/lib/kubelet/pods/f46c04b4-e17b-4b31-a28a-54de4e407dbc/volume-subpaths/000-default-conf/eramba/6:/etc/apache2/sites-available/000-default.conf (via /proc/self/fd/6), flags: 0x5001: not a directory: unknown
I am using a configMap to mount the conf file into the container but the /etc directory seems to be ‘unknown’.
I have all the files loaded and volumes mounting. Now when the eramba image attempts to initialize the database it fails.
- How does it get the DB_HOST, DB_PASSWORD values when the PHP script kicks off?
- All the values are loaded into the environment from the .env file using the Helm chart but it can’t seem to see them.
Helm chart I am using
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f docker-compose.simple-install.yml
kompose.version: 1.28.0 (HEAD)
creationTimestamp: null
labels:
io.kompose.service: psea-eramba
name: psea-eramba
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: psea-eramba
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f docker-compose.simple-install.yml
kompose.version: 1.28.0 (HEAD)
creationTimestamp: null
labels:
io.kompose.network/docker-default: "true"
io.kompose.service: psea-eramba
spec:
containers:
- env:
- name: CACHE_URL
value: "Redis://?server=psea-redis&port=6379&password=&timeout=3"
- name: DB_DATABASE
value: pseaeramba
- name: DB_HOST
value: psea-mysql
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: pseaerambadbpass
key: password
- name: DB_USERNAME
value: pseaeramba
- name: DOCKER_DEPLOYMENT
value: "1"
- name: LDAPTLS_REQCERT
value: "never"
- name: PROXY_AUTH_PASS
value: ${PROXY_AUTH_PASS}
- name: PROXY_AUTH_USER
value: ${PROXY_AUTH_USER}
- name: PROXY_HOST
value: ${PROXY_HOST}
- name: PROXY_PORT
value: ${PROXY_PORT}
- name: PUBLIC_ADDRESS
value: "https://psea.fideseo.com:8443"
- name: USE_PROXY
value: "0"
- name: USE_PROXY_AUTH
value: "0"
image: ghcr.io/eramba/eramba:latest
name: psea-eramba
ports:
- containerPort: 8443
name: psea-eramba
resources: {}
volumeMounts:
- mountPath: /var/www/eramba/app/upgrade/data
name: data
- mountPath: /var/www/eramba
name: app
- mountPath: /var/www/eramba/app/upgrade/logs
name: logs
- name: mycert-crt
mountPath: /etc/ssl/certs
- name: mycert-key
mountPath: /etc/ssl/private
- name: security-conf
mountPath: /etc/apache2/conf-available
- name: 000-default-conf
mountPath: /etc/apache2/sites-available
- name: eramba-crontab
mountPath: /etc/cron.d
- name: docker-cron-entrypoint
mountPath: /
- name: docker-entrypoint
mountPath: /
restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: data
- name: app
persistentVolumeClaim:
claimName: app
- name: logs
persistentVolumeClaim:
claimName: logs
- name: mycert-crt
configMap:
name: psea-crt
items:
- key: mycert.crt
path: mycert.crt
- name: mycert-key
configMap:
name: psea-key
items:
- key: mycert.key
path: mycert.key
- name: security-conf
configMap:
name: psea-securityconf
items:
- key: security.conf
path: security.conf
- name: 000-default-conf
configMap:
name: psea-000-default-conf
items:
- key: 000-default.conf
path: 000-default.conf
- name: eramba-crontab
configMap:
name: psea-eramba-crontab
items:
- key: eramba-crontab
path: eramba-crontab
- name: docker-cron-entrypoint
configMap:
name: docker-cron-entrypoint.sh
items:
- key: docker-cron-entrypoint.sh
path: docker-cron-entrypoint.sh
- name: docker-entrypoint
configMap:
name: docker-entrypoint.sh
items:
- key: docker-entrypoint.sh
path: docker-entrypoint.sh
status: {}
I FIGURED IT OUT!!! @kisero
1 Like
well done! i have no clue how to do that!
What could be the cause of this error in the container:
sent 19 bytes received 12 bytes 62.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]
Could not open input file: app/upgrade/bin/cake.php
Is that not quite figured out then? I’d dearly love to know whether Eramba can run on GKE.
Hello @nick.yonko can you describe what was achieved in order to get it working in a cluster?