全部產品
Search
文件中心

Container Service for Kubernetes:基於ACK Serverless叢集快速部署FastChat應用

更新時間:Jul 31, 2025

本文介紹如何基於ACK Serverless叢集快速部署FastChat應用。本教程中,您可以通過控制台或kubectl兩種方式來部署應用,並在部署完成後通過外部端點訪問FastChat,開啟AIGC體驗。

前提條件

已建立ACK Serverless叢集並為叢集開啟公網訪問能力,且叢集所在地區為華北2(北京)、華東1(杭州)、華東2(上海)、華南1(深圳)。具體操作,請參見建立ASK叢集

FastChat介紹

FastChat是一個智能易用的聊天機器人,支援大型語言模型的訓練、服務和評估。 FastChat基於先進的大語言模型(例如Vicuna、FastChat-T5)實現,擁有Web UI和OpenAI,相容RESTful API的分布式多模型服務系統。

重要
  • 阿里雲不對第三方模型“FastChat”的合法性、安全性、準確性進行任何保證,阿里雲不對由此引發的任何損害承擔責任。

  • 您應自覺遵守第三方模型“FastChat”的使用者協議、使用規範和相關法律法規,並就使用第三方模型的合法性、合規性自行承擔相關責任。

步驟一:部署FastChat應用

您可以通過控制台部署FastChat應用,也可以通過kubectl串連Kubernetes叢集,然後建立YAML檔案部署應用。

控制台

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作負載 > 無狀態

  3. 在無狀態頁面,單擊使用鏡像建立

  4. 應用基本資料頁面,設定應用程式名稱為fastchat,副本數量為1,然後單擊下一步

  5. 容器配置頁面,依次設定以下參數,然後單擊下一步

    以下為容器參數配置樣本,未提及的配置項請保持預設。

    配置地區

    配置項

    樣本值

    基本配置

    鏡像名稱

    yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0

    所需資源

    • CPU:8Core

    • 記憶體:32GB

    重要

    後續步驟會添加Pod註解指定ECI Pod所使用的ECS規格,此處配置實際不會生效。

    健全狀態檢查

    就緒檢查

    選中就緒檢查,然後選擇TCP串連,並配置連接埠為7860。

    生命週期

    啟動執行

    設定容器的啟動命令為 ["sh","-c","/root/webui.sh"]

  6. 進階配置頁面,單擊服務(Service)右側的建立,並完成服務參數的配置,以通過該服務公開FastChat應用。

    以下為服務參數配置樣本,未提及的配置項請保持預設。

    配置項

    樣本值

    名稱

    fastchat-svc

    服務類型

    選擇負載平衡 (LoadBalancer)

    • 負載平衡類型:傳統型負載平衡 CLB

    • 選擇資源:建立資源

    連接埠映射

    • 名稱:example-port

    • 服務連接埠:7860

    • 容器連接埠:7860

    • 協議:TCP

  7. 進階配置頁面,在標籤和註解地區,添加下表中的Pod注釋,然後單擊建立

    名稱

    k8s.aliyun.com/eci-use-specs

    ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlarge

    k8s.aliyun.com/eci-extra-ephemeral-storage

    100Gi

    image.png

  8. 返回無狀態頁面,單擊應用程式名稱進入應用詳情頁面,在容器組頁簽下,等待容器組的狀態變為Running,然後單擊訪問方式頁簽,在外部端點處擷取外部存取服務的IP地址。

kubectl

  1. 通過kubectl串連ACK Serverless叢集。具體操作,請參見通過kubectl串連Kubernetes叢集

  2. 複製以下範例程式碼,建立FastChat應用的fastchat.yaml檔案。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: fastchat
      name: fastchat
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: fastchat
      template:
        metadata:
          labels:
            app: fastchat
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlarge
            k8s.aliyun.com/eci-extra-ephemeral-storage: 100Gi
        spec:
          dnsPolicy: Default
          containers:
          - command:
            - sh
            - -c 
            - "/root/webui.sh"
            image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0
            imagePullPolicy: IfNotPresent
            name: fastchat
            ports:
            - containerPort: 7860
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              initialDelaySeconds: 5
              periodSeconds: 10
              successThreshold: 1
              tcpSocket:
                port: 7860
              timeoutSeconds: 1
            resources:
              requests:
                cpu: "8"
                memory: 16Gi
              limits:
                nvidia.com/gpu: 1
    ---
    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU
      name: fastchat-svc
      namespace: default
    spec:
      externalTrafficPolicy: Local
      ports:
      - port: 7860
        protocol: TCP
        targetPort: 7860
      selector:
        app: fastchat
      type: LoadBalancer
  3. 執行以下命令,部署FastChat應用fastchat。

    kubectl apply -f fastchat.yaml
  4. 執行以下命令,確認應用狀態正常。

    kubectl get deployment fastchat

    預期輸出:

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    fastchat   1/1     1            1           38m

步驟二:訪問服務

在瀏覽器中輸入擷取的服務外部IP地址(EXTERNAL-IP)並前往,即可開始訪問和體驗FastChat應用。

image.png

步驟三:釋放資源

實踐教程完成後,請務必注意及時刪除資源,避免額外資損。

刪除已建立的應用和服務

  1. Container Service管理主控台叢集列表頁面,單擊目的地組群名稱。

  2. 在左側導覽列選擇工作負載 > 無狀態,然後選中已建立的fastchat應用,單擊大量刪除,並按介面提示完成後續確認操作。

刪除叢集

ACK Serverless叢集目前不收取叢集管理費用,但在使用ACK Serverless叢集過程中用到的其他阿里雲雲產品資源(如ECI),您需要按照各雲產品規定的計費規則,為您使用的資源付費,費用由各雲產品收取。完成教程後,請參考以下情境處理叢集:

  • 如果不再繼續使用叢集,請在Container Service管理主控台叢集列表頁面,找到目的地組群並單擊對應的更多 > 刪除,在彈出面板閱讀提示資訊,選中要同時刪除的相關雲產品資源,然後單擊刪除,並按頁面提示完成後續操作。更多資訊,請參見刪除叢集

  • 如果需要繼續使用叢集,請及時為阿里雲帳號儲值,確保餘額充足。如需瞭解使用ACK Serverless叢集Pro版過程中用到的其他阿里雲雲產品資源的計費資訊,請參見雲產品資源計費

聯絡我們

如果您在ACK AIGC教程實踐過程中有任何疑問或建議,歡迎您加入釘群(釘群號:31850017754)交流。