You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RPi4 K3S集群部署wiki.js时PostgreSQL容器报exec format error

问题原因

wiki.js官方Helm Chart默认依赖Bitnami维护的PostgreSQL子Chart,部分默认绑定的PostgreSQL镜像版本未正确配置多架构镜像清单,在ARM64架构的RPi4节点上会错误拉取amd64架构的镜像,触发exec user process caused: exec format error报错。wiki.js主Chart文档中未直接列出PostgreSQL配置入口,是因为数据库相关配置属于子Chart参数,需要通过特定前缀透传,不需要修改Chart源码。

解决方案

方案1:透传参数修正内置PostgreSQL镜像(推荐)

先清理之前部署失败的实例:

helm uninstall wikijs

重新安装时通过--set参数显式指定已验证支持ARM64架构的PostgreSQL镜像版本,所有PostgreSQL子Chart的参数都通过postgresql.前缀传入:

helm install wikijs requarks/wiki \
  --set postgresql.image.repository=bitnami/postgresql \
  --set postgresql.image.tag=14.5.0-debian-11-r22 \
  --set postgresql.architecture=standalone

注:12.x及以上版本的Bitnami PostgreSQL镜像均提供ARM64架构支持,若需要更新版本,可替换tag为对应多架构版本即可,避开无ARM64适配的老旧tag。

方案2:使用外部PostgreSQL数据库

如果不想使用Chart内置的数据库实例,可以提前部署好兼容ARM64架构的PostgreSQL(集群内/集群外均可),安装时关闭内置数据库,传入外部数据库连接信息:

helm install wikijs requarks/wiki \
  --set postgresql.enabled=false \
  --set externalPostgresql.host=<数据库访问地址> \
  --set externalPostgresql.port=5432 \
  --set externalPostgresql.database=wikijs \
  --set externalPostgresql.user=wikijs \
  --set externalPostgresql.password=<数据库访问密码>
部署验证

安装完成后等待1-2分钟,执行以下命令查看Pod状态:

kubectl get pods

当两个工作负载的STATUS均为Running、READY列显示1/1时即为部署正常:

NAME                       READY   STATUS    RESTARTS   AGE
wikijs-7f6c8b9f54-lz55k    1/1     Running   0          2m12s
wikijs-postgresql-0        1/1     Running   0          2m12s

如果需要确认镜像架构匹配,可进入PostgreSQL容器执行arch命令,返回aarch64即说明架构适配正确。

内容的提问来源于stack exchange,提问作者carlosV2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:01:22