无状态资源调度和扩缩容
Kubernetes中的Pod扩缩容与调度是管理和优化应用运行的重要机制。
可扩容调度资源Pod列表
Dify:sandbox, web, proxy
Ragflow: ragflow
AnythingLLM: anythingllm (对anythingllm进行调度时需要在对应节点创建anythingllm落盘目录,参考AnythingLLM部署文档先决条件3)
Kubernetes资源Pod调度
- 克隆项目到本地。
git clone --branch v2.0.0 https://gitee.com/kunpeng_compute/KunpengRAG.git cd KunpengRAG/deployment/kubernetes/scheduling-scaler
- 执行调度脚本。
chmod +x scheduling.sh ./scheduling.sh
脚本将引导您完成以下配置:
1)输入RAG服务部署命名空间,脚本将会列出该命名空间下所有的deployment服务。
2)选择需要调度的deployment服务,输入对应服务前序号(可调度服务参考可扩容调度资源Pod列表)
3)输入节点亲和性key和value, 包含两种调度节点选择逻辑:
key = kubernetes.io/node, value = 需要调度的目标node。node为用户部署RAG服务时,为node打的标签。可以通过kubectl get nodes --show-labels | grep kubernetes.io/node查看节点node value。
key = kubernetes.io/hostname, value = 需要调度的目标hostname。Kubernetes集群部署时配置的节点名字(服务器名字)。kubectl get nodes --show-labels | grep kubernetes.io/hostname查看节点hostname value。
4)脚本更新deployment信息。
5)根据脚本提示的kubectl语句查询资源调度Pod是否成功。
Kubernetes资源Pod扩缩容
- 克隆项目到本地。
git clone --branch v2.0.0 https://gitee.com/kunpeng_compute/KunpengRAG.git cd KunpengRAG/deployment/kubernetes/scheduling-scaler
- 执行调度脚本。
chmod +x scheduling.sh ./scheduling.sh
脚本将引导您完成以下配置:
1)输入RAG服务部署命名空间,脚本将会列出该命名空间下所有的deployment服务。
2)选择需要扩缩容的deployment服务,输入对应服务序号(可调度服务参考可扩容调度资源Pod列表)。
3)输入需要扩缩容Pod资源的副本数量,副本数量必须大于等于1。
4)选择是否将扩容的Pod资源,运行在不同的node节点,输入扩容后运行Pod的节点。
5)脚本更新deployment信息。
6)根据脚本提示的kubectl语句查询资源扩缩容Pod是否成功。