日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

在ACK集群中部署和管理ack-kserve組件

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

KServe是一個開源項目,旨在簡化在Kubernetes上部署和運行機器學習模型的過程,支持多種機器學習框架、具備彈性擴容能力。KServe通過定義簡單的YAML文件,提供聲明式的API來部署模型,使得配置和管理模型服務變得更加容易。本文介紹如何在ACK集群中部署和管理ack-kserve組件以及常見問題的解決方案。

前提條件

步驟一: 安裝cert-manager組件

如果您的集群中已經安裝cert-manager組件,請跳過此步驟。

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  3. Helm頁面單擊創建,然后在創建頁面,將應用名設置為cert-manager,在Chart區域的搜索欄搜索并選中cert-manager,完成后單擊下一步,在彈出的對話框中單擊,確認采用cert-manager為Chart的默認的命名空間。

  4. 參數配置頁面,確認Chart 版本參數信息后,單擊確定

    部署成功后,頁面自動跳轉至Helm頁面,供您查看cert-manager的Helm組件信息。

步驟二:安裝ack-kserve組件

ack-kserve組件默認采用RawDeployment模式部署,并與Nginx Ingress Controller組件集成。

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  3. Helm頁面單擊創建,然后在創建頁面,將應用名設置為ack-kserve,在Chart區域的搜索欄搜索并選中ack-kserve,完成后單擊下一步,在彈出的對話框中單擊,確認采用kserve為Chart的默認的命名空間。

  4. 參數配置頁面,確認Chart 版本參數信息后,單擊確定

    部署成功后,頁面自動跳轉至Helm頁面,供您查看ack-kserve的Helm組件信息。

  5. 校驗ack-kserve是否運行。

    執行以下命令,查看kserve命名空間下的Pod是否處于running狀態。

    kubectl get pod -n kserve

    如果預期輸出的STATUSrunning狀態,表明ack-kserve組件已經安裝成功。

(可選)步驟三:查看或更新ack-kserve?組件

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  3. 查看ack-kserve?組件詳情。

    Helm頁面,單擊ack-kserve組件操作列的詳情,即可查看組件的基本信息、參數配置及歷史版本。

  4. 更新ack-kserve?組件信息。

    Helm頁面,單擊ack-kserve組件操作列的更新,即可更新組件的版本及參數。

(可選)步驟四:清理資源和卸載組件

  1. 為避免資源浪費,請在卸載ack-kserve?組件前刪除集群內的KServe CR(Custom Resource )及CRD(Custom Resource Definition)資源。

    重要

    刪除CR和CRD資源之前,請確認業務不再使用CR和CRD資源。刪除CRD資源會同步刪除對應的CR資源,CR資源一旦刪除將無法恢復。

    1. 確認業務不再使用后,再刪除集群內所有的KServe CR資源。刪除CR資源可能涉及以下命令:

      # 查看集群內所有isvc資源。
      kubectl get isvc --all-namespaces
      
      # 保存集群內所有isvc資源。
      kubectl get isvc --all-namespaces -oyaml > isvc.yaml.bak
      
      # 確認業務不再使用后刪除isvc資源。
      kubectl delete isvc --all
    2. 刪除集群內的KServe CRD資源。

      在刪除CRD之前,應確保先刪除所有依賴于該CRD的CR,否則會導致CRD刪除失敗。

      kubectl delete crd clusterservingruntimes.serving.kserve.io
      kubectl delete crd clusterstoragecontainers.serving.kserve.io
      kubectl delete crd inferencegraphs.serving.kserve.io
      kubectl delete crd inferenceservices.serving.kserve.io
      kubectl delete crd predictors.serving.kserve.io
      kubectl delete crd servingruntimes.serving.kserve.io
      kubectl delete crd trainedmodels.serving.kserve.io
  2. 卸載ack-kserve組件。

    1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

    3. Helm頁面,單擊ack-kserve組件操作列的刪除,即可根據頁面提示卸載ack-kserve組件。

  3. 卸載cert-manager組件。

    警告

    卸載cert-manager組件前,請先確認集群中沒有其他組件使用cert-manager組件,否則會導致業務不可用。

    1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

    3. Helm頁面,單擊cert-manager組件操作列的刪除,即可根據頁面提示卸載cert-manager組件。

  4. 執行以下命令,刪除集群內cert-manager的CRD資源。

    kubectl delete crd certificaterequests.cert-manager.io
    kubectl delete crd certificates.cert-manager.io
    kubectl delete crd challenges.acme.cert-manager.io
    kubectl delete crd clusterissuers.cert-manager.io
    kubectl delete crd issuers.cert-manager.io
    kubectl delete crd orders.acme.cert-manager.io

常見問題及解決方案

常見問題:安裝ack-kserve組件時出現報錯failed to call webhook: Post "https://cert-manager-webhook.cert-manager.svc:443/validate?timeout=30s": tls: failed to verify certificate: x509: certificate signed by unknown authority

問題原因:ack-kserve組件強依賴于cert-manager組件,如果當前集群中未安裝cert-manager組件或者cert-manager組件未就緒,此時安裝ack-kserve組件就會出現上述報錯。

解決方案

  1. 執行以下命令,確認集群中是否已經安裝cert-manager組件。

    kubectl get crd |grep certificates.cert-manager.io

    預期輸出如下所示,表明集群中已經安裝cert-manager組件。

    certificates.cert-manager.io                         2024-05-06T07:09:17Z

    如集群中沒有cert-manager的CRD資源,請參見步驟一安裝cert-manager組件。

  2. 執行以下命令,確認cert-manager組件是否已經就緒。

    kubectl -n cert-manager get po

    預期輸出如下所示,表明cert-manager組件的Pod均已就緒。

    NAME                                       READY   STATUS    RESTARTS   AGE
    cert-manager-7f4bb44d5b-jrrfn              1/1     Running   0          23h
    cert-manager-cainjector-79544456cc-qp5pp   1/1     Running   0          23h
    cert-manager-webhook-f74ccb647-7m5dt       1/1     Running   0          23h

    如果所有Pod均為Ready狀態,請參見上文先卸載ack-kserve組件,然后再重新安裝即可解決報錯。