如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
SeaweedFS 是一个简单且高度可扩展的分布式文件系统。Bitnami 提供的该 Helm Chart 用于在 Kubernetes 集群中快速部署 SeaweedFS,支持生产级别的工作负载,包含经过精心设计的配置、安全增强和维护支持。
https://seaweedfs.github.io
商标说明:本软件包由 Bitnami 打包,提及的商标分属各自公司所有,使用不意味着附属或背书。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出新的 Bitnami Secure Images 计划,提供精选的硬化工件。过渡期间的主要变更包括:
这些变更旨在通过推广软件供应链完整性最佳实践,提升所有 Bitnami 用户的安全态势。详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/seaweedfs
生产环境建议:试用 VMware Tanzu Application Catalog,Bitnami 目录的商业版。
使用发布名称 my-release 安装 Chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/seaweedfs
注意:需替换占位符
REGISTRY_NAME和REPOSITORY_NAME。例如,Bitnami 官方仓库使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
命令将以默认配置在 Kubernetes 集群中部署 SeaweedFS。参数 部分列出了安装时可配置的参数。
提示:使用
helm list查看所有发布。
资源请求与限制
Bitnami Chart 允许为所有容器设置资源请求和限制(通过 resources 参数)。生产环境必须设置资源请求,并根据实际需求调整。
可通过 resourcesPreset 参数自动应用预设资源配置(参考 https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%EF%BC%89%EF%BC%8C%E4%BD%86%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%BB%BA%E8%AE%AE%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E4%BB%A5%E9%80%82%E9%85%8D%E5%85%B7%E4%BD%93%E9%9C%80%E6%B1%82%E3%80%82%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E5%8F%82%E8%A7%81 Kubernetes 容器资源管理文档。
Prometheus 指标集成
通过设置 master.metrics.enabled、volume.metrics.enabled、filer.metrics.enabled 或 s3.metrics.enabled 为 true,可启用 Prometheus 指标暴露。这将开放 SeaweedFS 原生 Prometheus 端口,并部署带有自动发现注解的 metrics 服务。
前提条件:集群中需已安装 Prometheus 或 Prometheus Operator。推荐安装 https://github.com/bitnami/charts/tree/main/bitnami/prometheus 或 https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus%E3%80%82
Prometheus Operator 集成:设置 *.metrics.serviceMonitor.enabled=true(如 master.metrics.serviceMonitor.enabled=true)可部署 ServiceMonitor 对象,需确保集群已安装 Prometheus Operator CRD。
凭证更新
Bitnami Chart 在首次启动时配置凭证,后续变更需手动操作:
SECRET_NAME、ADMIN_ACCESS_KEY_ID 等):shellkubectl create secret generic SECRET_NAME --from-literal=admin_access_key_id=ADMIN_ACCESS_KEY_ID --from-literal=admin_secret_access_key=ADMIN_SECRET_KEY_ID --from-literal=read_access_key_id=READ_ACCESS_KEY_ID --from-literal=read_secret_access_key=READ_SECRET_KEY_ID --dry-run -o yaml | kubectl apply -f -
外部数据库支持
如需 Filer Server 连接外部数据库(而非集群内安装),需禁用内置 MariaDB 并配置外部数据库参数:
consolemariadb.enabled=false externalDatabase.enabled=true externalDatabase.store=mariadb # 或 postgresql externalDatabase.host=myexternalhost externalDatabase.user=myuser externalDatabase.password=mypassword externalDatabase.database=mydatabase externalDatabase.port=3306
前置操作:需在外部数据库中手动创建 filemeta 表:
MariaDB:
sqlUSE DATABASE_NAME; CREATE TABLE IF NOT EXISTS filemeta ( `dirhash` BIGINT NOT NULL COMMENT 'directory 字段 MD5 哈希的前 64 位', `name` VARCHAR(766) NOT NULL COMMENT '目录或文件名', `directory` TEXT NOT NULL COMMENT '父目录完整路径', `meta` LONGBLOB, PRIMARY KEY (`dirhash`, `name`) ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
PostgreSQL:
sql\c DATABASE_NAME; CREATE TABLE IF NOT EXISTS filemeta ( dirhash BIGINT, name VARCHAR(65535), directory VARCHAR(65535), meta bytea, PRIMARY KEY (dirhash, name) );
注意:替换
DATABASE_NAME为实际数据库名。
也可通过 Helm Chart 安装时的 K8s Job 自动创建表,需设置 externalDatabase.initDatabaseJob.enabled=true。
Ingress 配置
若集群已安装 Ingress 控制器(如 https://github.com/bitnami/charts/tree/main/bitnami/nginx-ingress-controller 或 https://github.com/bitnami/charts/tree/main/bitnami/contour%EF%BC%89%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87 Ingress 暴露 SeaweedFS 服务。
master.ingress.enabled=true(其他组件如 S3、Filer 类似,通过 s3.ingress.enabled、filer.ingress.enabled 启用)master.ingress.hostname 设置域名master.ingress.tls 添加 TLS 证书master.ingress.extraHosts 和 master.ingress.extraTLS 配置额外主机和 TLS 规则安全特性
启用安全设置需将 security.enabled=true 和 security.mTLS.enabled=true,支持:
证书管理:
security.mTLS.autoGenerated.enabled=true 和 security.mTLS.autoGenerated.engine=helmsecurity.mTLS.autoGenerated.enabled=true、security.mTLS.autoGenerated.engine=cert-manager,可通过 security.mTLS.autoGenerated.certManager.existingIssuer 指定现有 Issuer/ClusterIssuerS3 认证:
s3.auth.enabled=trues3.auth.existingSecret 指定 Secret 名称s3.auth.adminAccessKeyId、s3.auth.adminSecretAccessKey(管理员用户)和 s3.auth.readAccessKeyId、s3.auth.readSecretAccessKey(只读用户)设置凭证额外环境变量
通过 extraEnvVars 添加自定义环境变量:
yamlmaster: extraEnvVars: - name: LOG_LEVEL value: error
也可通过 ConfigMap 或 Secret 注入:
extraEnvVarsCM:指定包含环境变量的 ConfigMap 名称extraEnvVarsSecret:指定包含环境变量的 Secret 名称Sidecar 容器
通过 sidecars 参数添加额外容器(如监控或日志采集器):
yamlsidecars: - name: metrics-exporter image: your-exporter-image:latest imagePullPolicy: Always ports: - name: metrics containerPort: 9090
若 Sidecar 需暴露端口,通过 service.extraPorts 添加端口定义:
yamlservice: extraPorts: - name: exporter-port port: 9090 targetPort: 9090
初始化容器
通过 initContainers 参数添加初始化容器:
yamlinitContainers: - name: init-task image: your-init-image:latest imagePullPolicy: Always command: ["sh", "-c", "echo 'Initializing...'"]
Pod 亲和性
通过 affinity 参数配置自定义亲和性规则,或使用预设策略(参考 https://github.com/bitnami/charts/tree/main/bitnami/common#affinities%EF%BC%89%EF%BC%9A
podAffinityPreset:Pod 亲和性预设podAntiAffinityPreset:Pod 反亲和性预设nodeAffinityPreset:节点亲和性预设备份与恢复
使用 Velero 备份和恢复持久化卷,参考 Bitnami 备份恢复指南。
持久化存储
Bitnami SeaweedFS 镜像将数据和配置存储在容器的 /bitnami 路径,通过 Persistent Volume Claims 实现数据持久化。持久化相关问题排查参考 Bitnami 持久化卷故障排除指南。
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥数组 | [] |
global.defaultStorageClass | 持久化卷全局默认 StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift restricted-v2 SCC 的安全上下文(auto/force/disabled) | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
nameOverride | 部分覆盖资源名称前缀 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
namespaceOverride | 覆盖命名空间 | "" |
commonLabels | 所有资源添加的标签 | {} |
commonAnnotations | 所有资源添加的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 额外部署的 Kubernetes 对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(禁用探针,覆盖命令) | false |
diagnosticMode.command | 诊断模式下覆盖所有容器的命令 | ["sleep"] |
diagnosticMode.args | 诊断模式下覆盖所有容器的参数 | ["infinity"] |
image.registry | SeaweedFS 镜像仓库 | REGISTRY_NAME |
image.repository | SeaweedFS 镜像名称 | REPOSITORY_NAME/seaweedfs |
image.digest | 镜像摘要(覆盖标签,推荐不可变标签) | "" |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
image.pullSecrets | 镜像拉取密钥 | [] |
image.debug | 启用镜像调试模式 | false |
security.enabled | 启用安全设置 | false |
security.corsAllowedOrigins | CORS 允许的源 | [] |
注:完整参数列表请参见 https://github.com/bitnami/charts/blob/main/bitnami/seaweedfs/README.md%E3%80%82
docker.io/bitnamilegacy,不再更新,生产环境建议迁移至 Bitnami Secure Images。以下是 bitnamicharts/seaweedfs 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务