---
title: 运维
description: Human Plugin 安装的镜像更新、凭据轮换、关闭行为、扩缩容和数据库备份。
canonical: https://developer.unico.io/zh-CN/human-plugin/self-hosting/operations
locale: zh-CN
generated_by: markdown-export
---

# 运维

Human Plugin 的日常运行。

## 更新

运行 `latest` 镜像，并在 Unico 宣布新版本发布时更新：

- **Docker Compose：** `docker compose pull && docker compose up -d`。
- **Kubernetes：** `kubectl -n human-plugin rollout restart deployment/human-plugin`，并设置 `imagePullPolicy: Always`。

新版本会在启动时、接收流量之前准备所需的表，因此无需手动执行数据库步骤。在生产环境更新前请先备份数据库，更新后检查 `/health/ready` 并发送一次真实的创建请求。

## 轮换凭据

**访问密钥。** Unico 会签发带有重叠期的新密钥。在您的 `.env` 或 Secret 中更新 `HUMAN_API_ACCESS_KEY`，重启 Human Plugin（`docker compose up -d --force-recreate`，或 `kubectl -n human-plugin rollout restart deployment/human-plugin`），确认创建请求成功，然后请 Unico 吊销旧密钥。

**镜像仓库凭据。** Unico 会在旧令牌仍然有效时签发新令牌。使用新令牌重新登录（或重新创建 Kubernetes 拉取密钥），拉取一次以确认可用，然后请 Unico 吊销旧令牌。正在运行的容器不受影响。

**数据库密码。** 在 PostgreSQL 和 `POSTGRES_PASSWORD` 中同时修改，然后重启 Human Plugin。

## 关闭

收到 `SIGTERM` 时，Human Plugin 会停止接受连接，并最多等待 55 秒以处理进行中的请求，因为一次创建最长可能需要 30 秒，随后还要存储其结果。请将停止超时设置为至少 60 秒。被中断的创建请求会在之后的读取中被判定为失败。

## 扩缩容

Human Plugin 不在内存中保存请求状态，因此多个容器可以共享同一个数据库。每 1,500 笔事务/分钟增加一个副本，并将 PostgreSQL 的 `max_connections` 提高到 25 × 副本数 + 10。参见[硬件要求](/zh-CN/human-plugin/self-hosting/overview#hardware-requirements)。

## 属性目录

Human Plugin 在启动时下载一次[属性目录](/zh-CN/human-plugin/additional-resources/attribute-catalog)。新的目录版本会在容器下次重启时生效。逐个重启容器可保持服务可用。

## 备份

您的数据库保存着计算 `data.ndocs` 所依据的 intelligence 数据。请使用您自己的工具进行备份并测试恢复。丢失数据库就会丢失 intelligence 数据，且无法重建。