鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

无状态资源调度和扩缩容

K8s中的Pod扩缩容与调度是管理和优化应用运行的重要机制。

可扩容调度资源Pod列表

  • Dify:sandbox, web, proxy
  • RAGFlow:ragflow
  • AnythingLLM:anythingllm(对AnythingLLM进行调度时需要在对应节点创建AnythingLLM落盘目录,请参见KunpengRAG开源社区部署指导中的先决条件3。)

K8s资源Pod调度

  1. 克隆项目到本地。
    git clone --branch v2.0.0 https://gitee.com/kunpeng_compute/KunpengRAG.git 
    cd KunpengRAG/deployment/kubernetes/scheduling-scaler
  2. 执行调度脚本。
    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。

        K8s集群部署时配置的节点名字(服务器名字)。可以通过kubectl get nodes --show-labels | grep kubernetes.io/hostname查看节点的hostname value。

    4. 脚本更新deployment信息。
    5. 根据脚本提示的kubectl语句查询资源调度Pod是否成功。

K8s资源Pod扩缩容

  1. 克隆项目到本地。
    git clone --branch v2.0.0 https://gitee.com/kunpeng_compute/KunpengRAG.git 
    cd KunpengRAG/deployment/kubernetes/scheduling-scaler
  2. 执行调度脚本。
    chmod +x scheduling.sh 
    ./scheduling.sh

    脚本将引导您完成以下配置:

    1. 输入RAG服务部署命名空间,脚本将会列出该命名空间下所有的deployment服务。
    2. 选择需要扩缩容的deployment服务,输入对应服务序号(可调度服务参考可扩容调度资源Pod列表)。
    3. 输入需要扩缩容Pod资源的副本数量,副本数量必须大于等于1。
    4. 选择是否将扩容的Pod资源,运行在不同的node节点,输入扩容后运行Pod的节点。
    5. 脚本更新deployment信息。
    6. 根据脚本提示的kubectl语句查询资源扩缩容Pod是否成功。