Instale o ack-kserve, uma distribuição KServe otimizada pela Alibaba Cloud, para servir modelos de ML no ACK.
Pré-requisitos
Você possui um cluster ACK Edge versão 1.22 ou posterior. Para mais informações, consulte Crie um cluster ACK Edge.
O controlador NGINX Ingress já está instalado. Para mais informações, consulte Implante um controlador Ingress em um cluster ACK Edge.
Etapa 1: Instale o cert-manager
O ack-kserve depende do cert-manager para gerenciar certificados TLS.
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, escolha Applications > Helm.
Na página Helm, clique em Deploy. Em Basic Information, defina Application Name, selecione
cert-managerna seção Chart e clique em Next.Em Parameters, revise Chart Version e Parameters e clique em OK.
Após a implantação, o cert-manager aparece na página Helm.
Etapa 2: Instale o componente ack-kserve
Por padrão, o ack-kserve é implantado no modo RawDeployment e integrado ao controlador NGINX Ingress.
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em .
Na página Helm, clique em Deploy. Em Basic Information, defina Application Name, selecione
ack-kservena seção Chart e clique em Next.Em Parameters, revise Chart Version e Parameters e clique em OK. Após a implantação, o ack-kserve aparece na página Helm.
-
Modifique o inferenceservice-config no kserve.
Na página Helm, clique em kserve, em inferenceservice-config e, em seguida, em Edit YAML. No arquivo YAML, modifique o campo
ingressClassNamepara corresponder aoingressClassResource.nameda sua instalação do controlador NGINX Ingress. -
Verifique se o ack-kserve está em execução:
kubectl get pod -n kserveSe todos os pods exibirem
runningna colunaSTATUS, o ack-kserve foi instalado com sucesso.
(Opcional) Etapa 3: Visualize ou atualize o ack-kserve
Visualize detalhes do componente
Na página Helm, localize o ack-kserve e clique em View Details na coluna Actions. A página de detalhes exibe as abas Basic Information, Parameters e History.
Atualize o componente
Na página Helm, localize o ack-kserve e clique em Update na coluna Actions. No painel Update Release, altere a versão do chart ou modifique os parâmetros.
(Opcional) Etapa 4: Desinstale o complemento ack-kserve
Desinstale os componentes nesta ordem para evitar recursos órfãos:
Exclua os custom resources do KServe
Exclua as CustomResourceDefinitions (CRDs) do KServe
Desinstale o ack-kserve
Desinstale o cert-manager
Exclua as CRDs do cert-manager
Exclua custom resources e CRDs do KServe
A exclusão de uma CRD remove automaticamente todos os custom resources associados. Não é possível restaurar custom resources após a exclusão. Verifique se seus recursos InferenceService não são mais necessários.
-
Faça backup e exclua todos os custom resources InferenceService:
# List all InferenceService resources in the cluster kubectl get isvc --all-namespaces # Back up all resources to a file kubectl get isvc --all-namespaces -oyaml > isvc.yaml.bak # Delete all resources kubectl delete isvc --all -
Exclua as CRDs do KServe.
NotaExclua todos os custom resources antes de excluir uma CRD. Caso contrário, a exclusão da CRD falhará.
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
Desinstale o ack-kserve
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, escolha Applications > Helm.
Na página Helm, localize ack-kserve e clique em Delete na coluna Actions. Na caixa de diálogo, clique em OK.
Desinstale o cert-manager
Certifique-se de que nenhum outro componente do cluster dependa do cert-manager antes de desinstalá-lo. Remover o cert-manager durante o uso causa interrupções no service.
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, escolha Applications > Helm.
Na página Helm, localize cert-manager e clique em Delete na coluna Actions. Na caixa de diálogo, clique em OK.
-
Exclua as CRDs do cert-manager:
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
Solução de problemas
Erro durante a instalação do ack-kserve: Falha na verificação do certificado TLS
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
O ack-kserve exige que o cert-manager esteja totalmente pronto. Esse erro ocorre quando o cert-manager não está instalado ou seus pods ainda não estão em execução.
-
Verifique se o cert-manager está instalado:
kubectl get crd | grep certificates.cert-manager.ioSaída esperada se o cert-manager estiver instalado:
certificates.cert-manager.io 2024-05-06T07:09:17ZSe não houver saída, instale o cert-manager primeiro.
-
Verifique se os pods do cert-manager estão prontos:
kubectl -n cert-manager get poTodos os pods devem exibir
1/1na colunaREADY: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 23hSe todos os pods estiverem prontos, desinstale o ack-kserve e reinstale-o.