helm deployed nextcloud make CNPG deployed postgres stop due to low disk space
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- helm, kubernetes, postgresql
- Ambito
- databases, infrastructure
Direzione di ricerca
Iniziare esaminando la configurazione di deployment PostgreSQL/CNPG dell'Helm chart e il comportamento segnalato del disco PVC e WAL; non sono indicati file del repository né test. Il lavoro sarà considerato completato quando sarà stata confermata una causa a livello del chart e sarà disponibile una correzione riproducibile o una modifica della configurazione documentata che impedisca il ripetersi dell'errore dovuto allo spazio su disco insufficiente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe your Issue
I am using helm to deploy a nextcloud app but sometime it fails and can not restart normally.
after some digs, I found that it's because the database, i.e. postgres failed. the postgres failed due to an error of low disk space which means it consumed all the available space in pvc. However, the space is as large as 100GB, I think it's quite large enough.
when I expand the disk, the pg and nextcloud will recovery and I checked the recovered postgres, it used less than 1GB data.
what's more, after 1-2 weeks, the same thing occurred again, I have to expand the storage again. and 2 weeks later, the same thing occurred again.
I am using the project of cnpg to deploy a postgres of 3 intances. https://cloudnative-pg.io/
Logs and Errors
{"level":"info","ts":"2025-01-01T04:02:02Z","logger":"setup","msg":"Checking for free disk space for WALs before starting PostgreSQL","logging_pod":"nextcloud-pg-1"}
{"level":"info","ts":"2025-01-01T04:02:02Z","logger":"setup","msg":"Detected low-disk space condition, avoid starting the instance","logging_pod":"nextcloud-pg-1"}
Describe your Environment
-
Kubernetes distribution:
RKE2. -
Helm Version (or App that manages helm):
version.BuildInfo{Version:"v3.16.1", GitCommit:"5a5449dc42be07001fd5771d56429132984ab3ab", GitTreeState:"clean", GoVersion:"go1.22.7"} -
Helm Chart Version:
nextcloud nextcloud 6 2024-11-30 20:18:02.321695285 +0800 CST deployed nextcloud-6.2.4 30.0.2 -
values.yaml:
## Official nextcloud image version
## ref: https://hub.docker.com/r/library/nextcloud/tags/
##
image:
repository: nextcloud
flavor: apache
# default is generated by flavor and appVersion
tag: 30.0.2-apache
pullPolicy: IfNotPresent
# pullSecrets:
# - myRegistrKeySecretName
# Number of replicas to be deployed
replicaCount: 1
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/cors-allow-headers: X-Forwarded-For
nginx.ingress.kubernetes.io/enable-cors: 'true'
# Keep this in sync with the README.md:
nginx.ingress.kubernetes.io/server-snippet: |-
server_tokens off;
proxy_hide_header X-Powered-By;
rewrite ^/.well-known/webfinger /index.php/.well-known/webfinger last;
rewrite ^/.well-known/nodeinfo /index.php/.well-known/nodeinfo last;
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:autotest|occ|issue|indie|db_|console) {
deny all;
}
tls:
- secretName: nextcloud-cert
hosts:
- pan.xxx.tech
labels: {}
path: /
pathType: Prefix
# Allow configuration of lifecycle hooks
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
lifecycle: {}
# postStartCommand: []
# preStopCommand: []
nextcloud:
host: pan.xxx.tech
username: admin
password: xxx@Nc
## Use an existing secret
existingSecret:
enabled: false
update: 0
# If web server is not binding default port, you can define it
containerPort: 80
datadir: /var/www/html/data
# if set, we'll template this list to the NEXTCLOUD_TRUSTED_DOMAINS env var
trustedDomains: [] # forbidden access from ip if not set here!
## SMTP configuration
mail:
enabled: false
# the user we send email as
fromAddress: admin
# the domain we send email from
domain: xxx.tech
smtp:
host: domain.com
secure: ssl
port: 465
authtype: LOGIN
name: user
password: pass
## Primary ObjectStore options
# see: https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#configuring-object-storage-as-primary-storage
objectStore:
# https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3
s3:
enabled: true
accessKey: "xxxx"
secretKey: "xxxx"
host: "xxx.xxxx.xxx"
ssl: true
port: "443"
region: "us-east-1" # minio default
bucket: "nextcloud"
prefix: "" # object prefix in bucket
usePathStyle: true
autoCreate: false # autocreate the bucket
storageClass: "STANDARD"
# Extra config files created in /var/www/html/config/
# ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file
configs:
proxy.config.php: |-
<?php
$CONFIG = array (
'trusted_proxies' => array(
0 => '127.0.0.1',
1 => '10.0.0.0/8',
),
'forwarded_for_headers' => array('HTTP_X_FORWARDED_FOR'),
);
appstore.config.php: |-
<?php
$CONFIG = array (
'appstoreenabled' => false,
);
oidc.config.php: |-
<?php
$CONFIG = array (
'allow_local_remote_servers' => true,
);
extraEnv:
- name: "TZ"
value: "Asia/Shanghai"
# Extra mounts for the pods. Example shown is for connecting a legacy NFS volume
# to NextCloud pods in Kubernetes. This can then be configured in External Storage
extraVolumes:
# - name: nfs
# nfs:
# server: "10.0.0.1"
# path: "/nextcloud_data"
# readOnly: false
extraVolumeMounts:
# - name: nfs
# mountPath: "/legacy_data"
# Set securityContext parameters for the nextcloud CONTAINER only (will not affect nginx container).
# For example, you may need to define runAsNonRoot directive
securityContext:
runAsUser: 33
runAsGroup: 33
runAsNonRoot: true
readOnlyRootFilesystem: false
# Set securityContext parameters for the entire pod. For example, you may need to define runAsNonRoot directive
podSecurityContext: {}
internalDatabase:
enabled: false
name: nextcloud
##
## External database configuration
##
externalDatabase:
enabled: true
type: postgresql
host: "nextcloud-pg-rw:5432"
database: nextcloud
existingSecret:
enabled: true
secretName: nextclouduser-secret
usernameKey: username
passwordKey: password
mariadb:
enabled: false # we use postgres
redis:
enabled: false
## Cronjob to execute Nextcloud background tasks
## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron
##
cronjob:
enabled: false
service:
type: ClusterIP
port: 8080
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
# Nextcloud Data (/var/www/html)
enabled: true
annotations: {}
storageClass: ""
accessMode: ReadWriteOnce
size: 8Gi
## Use an additional pvc for the data directory rather than a subpath of the default PVC
## Useful to store data on a different storageClass (e.g. on slower disks)
nextcloudData:
enabled: false # data part, means the whole is not only data
resources:
requests:
memory: "8Gi"
cpu: "4"
## Enable pod autoscaling using HorizontalPodAutoscaler
## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
##
hpa:
enabled: false
cputhreshold: 60
minPods: 1
maxPods: 10
nodeSelector: {}
## Prometheus Exporter / Metrics
##
metrics:
enabled: false
rbac:
enabled: false
serviceaccount:
create: true
name: nextcloud-serviceaccount
annotations: {}
- Lingua principale
- Go Template
- Stelle
- 539
- Fork
- 316
- Merge medio
- 2g 3h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextcloud/helm
-
No native support for REDIS_USER enviroment varForse già presa @jholmes802 l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Failed to inspect imageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Nextcloud pods run as the namespace's default service account: the chart's account is only created with rbac.enabled, which binds the removed PodSecurityPolicyForse già presa @martin-mat l’ha presa 6 giorni fa. Aperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 55/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is setForse già presa @JanWelker l’ha presa 32 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
Tutte le issue di nextcloud/helm
Issue simili
-
Add: Ministerstvoidey.ruApertacheck:passed logos:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Session.merge_all() does not suppress autoflush during merge cascade, unlike Session.merge()Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
sqlalchemy/sqlalchemy#13715 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
swiftlang/indexstore-db#306 ·