如何在 Kuscia 中升级引擎镜像?

打开链接即可点亮社区Star,照亮技术的前进之路。

Github 地址:https://github.com/secretflow/kuscia

Kuscia 支持在部署后升级引擎版本,本文档介绍如何在 Kuscia 中升级引擎镜像。

导入引擎镜像

Kuscia 提供脚本升级镜像和手动升级镜像两种方式,您可以根据自己的需求选择合适的方式。

脚本升级镜像

  1. 获取工具脚本

    docker cp root-kuscia-autonomy-alice:/home/kuscia/scripts .
    
  2. 注册镜像

    点对点模式

    Autonomy 节点需要同时导入引擎镜像和注册 AppImage,下面以 root-kuscia-autonomy-alice 节点为例,其他 Autonomy 节点也需要进行导入

    ./scripts/deploy/register_app_image.sh -c root-kuscia-autonomy-alice -i secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:latest -f scripts/templates/app_image.secretflow.yaml --import
    

    中心化模式

    Master 节点注册 AppImage 即可,下面以 root-kuscia-master 为例

    ./scripts/deploy/register_app_image.sh -c root-kuscia-master -i secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:latest -f scripts/templates/app_image.secretflow.yaml
    

    Lite 节点导入引擎镜像即可,下面以 root-kuscia-lite-alice 节点为例,其他 Lite 节点也需要进行导入

    ./scripts/deploy/register_app_image.sh -c root-kuscia-lite-alice -i secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:latest --import
    

手动升级镜像

kuscia 命令支持在 RunC、RunP 模式中导入引擎镜像,使用示例如下:

  1. 登录到 Autonomy、Lite 节点中

    docker exec -it ${USER}-kuscia-autonomy-alice bash
    
  2. 导入镜像

    执行 kuscia image 导入镜像,此处以 sf 镜像为例

    # Import Image
    kuscia image pull secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:1.11.0b1
    

    如果您使用的是私有仓库,请加上 creds 参数指定账户密码,示例如下:

    # Import Image
    kuscia image pull --creds "user:password" private.registry.com/secretflow/secretflow-lite-anolis8:1.11.0b1
    

    如果您的环境无法访问镜像仓库,您也可以将镜像打成 tar 包传到容器里,然后通过 kuscia image load 导入,示例如下:

    # Import Image
    kuscia image load -i secretflow-lite-anolis8.tar
    

    验证镜像导入成功

    # View Image
    kuscia image list
    
  3. 注册 AppImage

    镜像导入之后需要在 Autonomy 和 Master 节点上修改 AppImage,Lite 节点无需执行,示例如下:

    # Enter the master container
    docker exec -it ${USER}-kuscia-master bash
    
    # The appimage is based on the actual engine name, we use the default name of secretflow as an example.
    kubectl edit appimage secretflow-image
    
    # Modify the name and tag in the image field, then save and exit.
      image:
        name: xxx
        tag: xxx
    
posted @ 2025-12-10 14:02  隐语开源社区  阅读(0)  评论(0)    收藏  举报