Skip to content

K8s

在 K8s 上部署 Memos,启用持久化存储和反向代理

仅当你已运行集群并希望 Memos 融入现有部署模型时才使用 K8s。对于单个实例,Docker Compose 通常更简单。

核心资源

一个典型的部署通常包含:

  • 用于 Memos 容器的 Deployment

  • 用于集群网络的 Service

  • 用于公共访问的 Ingress 或网关

  • 用于存储数据的 PersistentVolumeClaim

  • 用于存储敏感值(例如 DSN)的 Secret

SQLite 对比外部数据库

SQLite 适用于单副本,并且是单副本最简单的选择,但它限制你只能使用一个可写 Pod 和一个持久卷。如果需要更强的操作灵活性,请使用 MySQL 或 PostgreSQL,并将本地资产保存在持久存储中。

推荐用法

  • 使用 SQLite 时,仅保留一个 Memos 副本

  • 持久卷挂载在 /var/opt/memos

  • MEMOS_INSTANCE_URL 设置为公共 URL

  • 在入口层进行 TLS 终止

  • 保留标准转发标头

实用指南

  • 优先考虑使用外部 MySQL 或 PostgreSQL 数据库,避免尝试多副本模式。

  • 如果资产未存储在数据库中,请备份数据库和本地资产存储。

  • 开始时使用保守的资源请求,并根据实际使用情况进行调整。

  • 确保公共访问使用 HTTPS。

何时值得使用 K8s

  • Memos 必须符合现有的平台标准

  • 您已经依赖于 Ingress、Secret 和持久卷工作流

  • 您希望部署自动化与集群中其他工作负载保持一致

最后更新于:

评论区
评论区空空如也
发送评论
名字
0 / 20
邮箱
0 / 100
评论内容
0 / 140
由于是非实名评论,所以不提供删除功能。如果你需要删除你发送的评论,或者是其他人的评论对你造成了困扰,请 发邮件给我 。同时评论区会使用 AI + 人工的方式进行审核,以达到合规要求。