Shadowrocket 是基于 Kubernetes 的容器化平台,支持自定义容器和管理多个节点,节点管理是 shadowrocket 中的重要功能之一,确保容器系统高效、稳定运行,以下是一些 shadowrocket 节点管理的方法: 在 shadowrocket 中创建节点的步骤如下:
- 启动容器:使用 shadowrocket 容器工具(如
shadowrocket应用程序或Shadowrocket CLI)启动容器。 - 创建节点:在容器的运行环境中,使用
shadowrocket node或shadowrocket start工具创建一个节点。 - 配置节点:根据需求配置节点的标签(如
container_name、app_name)和容器环境(如server_name、database_name)。 - 设置优先级和可用性:根据需求调整节点的优先级、可用性(如
kubernetes-internal-resource、kubernetes-external-resource)。 - 存储节点信息:使用
shadowrocket node storage工具存储节点的详细信息,如 ID、标签、优先级等。
节点同步(Node Synchronization)
在 shadowrocket 中同步节点的步骤如下:
- 启动容器:启动 shadowrocket 容器工具,启动容器。
- 创建节点:创建一个 shadowrocket 节点。
- 启动同步:在容器中执行
shadowrocket sync,让容器开始同步其他节点的数据。 - 同步完成后:等待容器完成同步,退出容器。
节点同步失败(Node Synchronization Failed)
shadowrocket 中的节点同步失败,通常是因为以下原因:
- 资源不足:其他节点的数据无法同步到当前节点。
- 网络问题:网络连接不稳定,导致同步无法完成。
- 系统错误:系统中存在错误,导致 shadowrocket 无法同步。
解决方法:
- 检查网络:确保网络连接稳定,使用
curl -v -k --connect 1.2.2.1 1.1.1.1测试网络连接。 - 检查资源:确保当前节点和同步节点有足够的资源(CPU、内存、磁盘空间)。
- 重启容器:重启容器,看看是否能成功同步。
- 检查系统日志:查看 shadowrocket 的日志文件,了解出现错误的原因。
节点删除(Node Deletion)
在 shadowrocket 中删除节点的步骤如下:
- 启动容器:启动 shadowrocket 容器工具,启动容器。
- 创建节点:创建一个 shadowrocket 节点。
- 删除节点:在容器中执行
shadowrocket node remove,删除节点。
如果删除节点后发现其他节点无法同步,可能需要重新同步容器。
节点停机(Node Stopping)
在 shadowrocket 中停机节点的步骤如下:
- 启动容器:启动 shadowrocket 容器工具,启动容器。
- 创建节点:创建一个 shadowrocket 节点。
- 执行停机命令:在容器中执行
shadowrocket node stop,让容器停止运行。 - 退出容器:退出容器,停止容器。
节点监控与统计
shadowrocket 提供节点监控工具 shadowrocket node statistics,可以查看节点的运行状态、可用性、负载等统计信息。
资源标签(Tags)
shadowrocket 的节点管理基于 Kubernetes 的标签(Tags),标签可以用来管理节点的优先级、可用性等。
container_name:节点的唯一标识。app_name:容器的名称。server_name:容器运行的唯一标识。kubernetes-internal-resource:节点属于内部资源(如生产环境)。kubernetes-external-resource:节点属于外部资源(如测试环境)。
优先级(Priority)
优先级是 shadowrocket 中节点管理的优先级,优先级越高,节点的优先级越低(或越优先)。
kubernetes-internal-resource:优先级越低,越优先。kubernetes-external-resource:优先级越低,越优先。
可用性(Availability)
shadowrocket 提供两种节点状态:kubernetes-internal-resource 和 kubernetes-external-resource,可选性可以通过配置文件(如 shadowrocket node availability.json)来指定。









