Accessing persistant storage from shiny app on AWS EKS Fargate Cluster

Hello,
We have deployed shinyproxy on AWS EKS Fargate Cluster.
We can start a simple shinyproxy app whithout any problem.
But when we try to mount a persistent volume on shinyproxy app container we have this error message :
"Events:
Type Reason Age From Message


Warning FailedScheduling 2m35s fargate-scheduler Pod not supported on Fargate: volumes not supported: shinyproxy-volume-0 is of an unsupported volume Type "

here is our deployment.yaml :

apiVersion: apps/v1
kind: Deployment
metadata:
name: dpl-shinyproxy-test1
namespace: test-1
spec:
selector:
matchLabels:
app: sp-test-1
replicas: 1
template:
metadata:
labels:
app: sp-test-1
spec:
containers:
- name: dck-shinyproxy-test1
image: ************.dkr.ecr.eu-west-1.amazonaws.com/pac-dck_shinyproxy:latest
ports:
- containerPort: 8080
securityContext:
allowPrivilegeEscalation: false
runAsUser: 0

    volumeMounts:
    - name: shiny-proxy-config-volume
      mountPath: /opt/shinyproxy/application.yml
      subPath: application.yml
  serviceAccountName: pac-carto21



  volumes:
    - name: shiny-proxy-config-volume
      configMap:
        name: shiny-proxy-configmap-file
        items:
        - key: application.yml
          path: application.yml  

And this is our application.yml :

proxy:
title: Shinyproxy suivi logs
port: 8080
container-wait-time: 1200000
authentication: simple
users:

  • name: test
    password: test
    container-backend: kubernetes
    kubernetes:
    internal-networking: true
    namespace: test-1
    pod-wait-time: 1200000
    debug-patches: true

specs:

  • id: suivi-logs
    display-name: Suivi logs
    description: Test Deploiement Suivi des logs
    container-cmd: ["/dds/miniconda/envs/dds/bin/R", “-e”, “shiny::runApp(’/workspace/shiny_bright_like_a_log’, port = 3838, host = ‘0.0.0.0’)”]
    container-image: *********.dkr.ecr.eu-west-1.amazonaws.com/pac-dck_suivi_logs:latest
    container-volumes: [“efs-claim-pac-carto21:/dataspace/ma/Shiny_log_prod/logs1/”]

logging:
file:
name: shinyproxy.log

server:
forward-headers-strategy: “native”

of course, we have deployed the aws efs csi fargate driver on our cluster.
We have also, created the storage class, the pv and the pvc, all it’s ok.

Thanks for your help !

Hi

When using k8s the container-volumes option uses hostPaths volumes. This is not supported on Fargate. When you want to use EFS for your pods, you need to make use of the pod patches feature of ShinyProxy. This allows you to modify (i.e. patch) the pod that is created by ShinyProxy. See our documentation: https://shinyproxy.io/documentation/configuration/#hide-navbar-on-main-page-link