尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Portwarden Kubernetes部署实战:redis、scheduler、worker三服务全配置详解

Portwarden Kubernetes部署实战:redis、scheduler、worker三服务全配置详解 Portwarden Kubernetes部署实战redis、scheduler、worker三服务全配置详解【免费下载链接】portwardenCreate Encrypted Backups of Your Bitwarden Vault with Attachments项目地址: https://gitcode.com/gh_mirrors/po/portwardenPortwarden 是一款免费的 Bitwarden 保险库加密备份工具能把你的全部密码条目和附件打包成 AES 加密的.portwarden备份文件支持解密与一键恢复。本文将带你完成 Portwarden 的 Kubernetes 部署逐行讲透 redis、scheduler、worker 三大服务的配置文件并附带 redis-commander 可视化管理台的接入方式。为什么需要 Portwarden 加密备份 Bitwarden 官方导出功能只能生成未加密的 CSV 文件还不包含附件。而 Portwarden 补齐了这块短板对比项PortwardenBitwarden 官方备份备份格式✅ AES 加密的.portwarden未加密 CSV 文件备份附件✅ 支持❌ 不支持恢复附件✅ 支持❌ 不支持本地使用时一条命令即可完成备份与恢复详见 README.md# 加密备份 / 解密 / 恢复恢复为实验性功能建议用备用账号 portwarden --passphrase 1234 --filename backup.portwarden encrypt portwarden --passphrase 1234 --filename backup.portwarden decrypt portwarden --passphrase 1234 --filename backup.portwarden restore三服务架构谁负责干什么 Portwarden 服务端由三个核心服务组成理解它们的分工是看懂 Kubernetes 配置的前提redis任务队列中间件。加密/解密任务先写入 Redis 队列实现调度与执行的解耦scheduler调度服务器API 入口。接收 HTTP 请求、管理备份任务队列还支持把备份文件上传到 Google Driveworker备份执行器。从队列取出任务调用 Bitwarden CLI 拉取数据、下载附件、执行加密/解密redis-commander 则是附赠的 Redis Web 管理台方便你直观查看队列状态。一键部署到 Kubernetes 仓库中已内置一套由 kompose 生成的完整 K8s 清单位于 k8s/kompose/ 目录共 9 个 YAML 文件# 克隆项目 git clone https://gitcode.com/gh_mirrors/po/portwarden # 一键应用全部资源4 个 Deployment 3 个 Service 2 个 Ingress kubectl apply -f k8s/kompose/ # 查看部署状态 kubectl get pods -w kubectl get svcredis 服务配置详解配置见 redis-deployment.yaml 与 redis-service.yaml关键点副本数replicas: 1队列中间件无需多副本端口containerPort: 6379标准 Redis 端口Service 类型ClusterIP默认仅集群内部访问——调度器和 worker 通过服务名redis:6379直连重启策略Always保证队列服务高可用scheduler 服务配置详解配置见 scheduler-deployment.yaml 与 scheduler-service.yaml副本数replicas: 1单节点承载全部 API 请求环境变量BITWARDENCLI_APPDATA_DIR/BitwardenCLI指定 Bitwarden CLI 的配置目录API 端口5000对外暴露type: LoadBalancernodePort: 32222Ingressscheduler-ingress.yaml 将所有 HTTP 路径转发到scheduler:5000适合配域名做 HTTPSscheduler 对外提供的主要接口POST /encrypt创建加密任务、POST /decrypt创建解密任务、POST /encrypt/cancel取消任务源码入口在 web/scheduler/server/server.go。worker 服务配置详解配置见 worker-deployment.yaml最值得关注的是副本数replicas: 2—— 默认启动2 个 worker 并行消费队列多个备份任务可同时执行这是吞吐量的关键无对外端口worker 只从 Redis 取任务不接收 HTTP 请求因此没有 Service 和 Ingress环境变量同样设置BITWARDENCLI_APPDATA_DIR/BitwardenCLI用于登录你的 Bitwarden 账号扩展方式备份任务堆积时只需kubectl scale deployment worker --replicas4即可横向扩容用 redis-commander 观察任务队列 redis-commander-deployment.yaml 中通过REDIS_HOSTSlocal:redis:6379指向 redis 服务暴露8081端口。配合 redis-commander-ingress.yaml 或 LoadBalancer Service浏览器打开即可看到队列里的加密/解密任务实时流转——排错时非常实用。部署常见问题 ⚠️问题排查建议scheduler Pod 起不来检查镜像vwxyzjn/portwarden-base是否可拉取kubectl logs -l io.kompose.servicescheduler备份任务卡住用 redis-commander 查看队列是否积压确认 worker 副本数与运行状态5000 端口无法访问确认集群是否支持 LoadBalancer 节点否则改用 Ingress 或kubectl port-forward svc/scheduler 5000:5000worker 登录失败检查BITWARDENCLI_APPDATA_DIR中是否已有有效的 Bitwarden 会话小贴士恢复restore功能是实验性的且不做冲突处理。请务必用主账号备份、用备用账号恢复避免数据丢失。总结 ✅本文带你完成了 Portwarden 的完整 Kubernetes 部署redis 承载任务队列、scheduler 提供 5000 端口的 API 入口、worker 以 2 副本并行执行 Bitwarden 加密备份与恢复再配合 redis-commander 实现队列可视化管理。整个架构仅 9 个 YAML 文件kubectl apply一条命令即可上线是学习和实践 K8s 多服务部署的绝佳案例。【免费下载链接】portwardenCreate Encrypted Backups of Your Bitwarden Vault with Attachments项目地址: https://gitcode.com/gh_mirrors/po/portwarden创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表