GithubHelp home page GithubHelp logo

Comments (4)

naioja avatar naioja commented on June 27, 2024

@ojordano can you describe more the situation, are you using PV/PVC for your deployment, can you post maybe the deployment yaml here. Also what container are you using ? The one from the Moodle helm chart or the one from Moodle HQ ?

from moodle.

ojordano avatar ojordano commented on June 27, 2024

Hello @naioja ;
@naioja
Thank you for helping on this .

So i am deploying the moodle from a Helm chart version 14.1.9 ( https://artifacthub.io/packages/helm/bitnami/moodle/14.1.9 ).

  • AZURE FILE SCENARIO

1- my values looks like something like this :

moodleSkipInstall: true
moodlePassword: *************
allowEmptyPassword: false
mariadb
  enabled: false
extraEnvVars:
- name: PHP_MAX_INPUT_VARS
  value: "5000"
- name: PHP_POST_MAX_SIZE
  value: 500m
- name: PHP_UPLOAD_MAX_FILESIZE
  value: 500m
persistence
  existingClaim : azure-file-moodle-pvc
livenessProbe
  enabled: false
readinessProbe
  enabled: false
ingress
  enabled: true
  hostname: *************
  ingressClassName: nginx
  tls: true
  annotations:
    acme.cert-manager.io/http01-edit-in-place: "true"
    cert-manager.io/cluster-issuer: *************
    nginx.org/client-max-body-size: 500m  
containerSecurityContext
  enabled: false
externalDatabase
  type: pgsql
  host: ******
  port: 5432
  user: bn_moodle
  password: ********
  database: bitnami_moodle

2- The PVC given in the helm values reference a PV that reference a secrect and that secret reference a storage account containing the share used for moodle . so it all look like this :
SECRET

kubectl create secret generic azure-file-moodle -n moodle --from-literal=azurestorageaccountname=************ --from-literal=azurestorageaccountkey=***********

PV & PVC

apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/provisioned-by: file.csi.azure.com
  name: azure-file-moodle-pv
spec:
  capacity:
    storage: 40Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: azurefile-csi
  csi:
    driver: file.csi.azure.com
    readOnly: false
    volumeHandle: 9e6091d1-7121-413a-bc6a-134df98b375a
    volumeAttributes:
      shareName: moodle-persistence
    nodeStageSecretRef:
      name: azure-file-moodle
      namespace: moodle
  mountOptions:
    - dir_mode=0777
    - file_mode=0777
    - uid=0
    - gid=0
    - mfsymlinks
    - cache=strict
    - nosharesock
    - nobrl
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: azure-file-moodle-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 40Gi
  volumeName: azure-file-moodle-pv
  storageClassName: azurefile-csi

So those are my configuration.
At Azure side i have a storage account and a share named moodle-persistence

Site is UP, persistence are well bound; but page are very very very slow. When i try to use default disk it is good.
I tried using premium file share to see if high performance can help but nothing.

  • AZURE BLOB SCENARIO

I did the same scenario but this time the used storage class is azureblob-fuse-premium and provisionner is blob.csi.azure.com but i have error stating that moodle was unable to attach to that volume.

from moodle.

ojordano avatar ojordano commented on June 27, 2024

Hello
@naioja still looking foward for a help on this please :) :)

from moodle.

naioja avatar naioja commented on June 27, 2024

Looking at your deployment the only things I suspect could cause the problem are the user and group you have declared as mountOptions:

- uid=0
- gid=0

Please make sure you current process under which you run apache/nginx is able to conform to that uid/gid.

from moodle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.