As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
HyperPod solução de problemas de inferência
Este guia de solução de problemas aborda problemas comuns que podem ocorrer durante a implantação e operação do Amazon SageMaker HyperPod Inference. Esses problemas geralmente envolvem configuração de rede VPC, permissões de IAM, gerenciamento de recursos do Kubernetes e problemas de conectividade do operador que podem impedir a implantação bem-sucedida do modelo ou fazer com que as implantações falhem ou permaneçam em estados pendentes.
Este guia de solução de problemas usa a seguinte terminologia: As etapas de solução de problemas são procedimentos de diagnóstico para identificar e investigar problemas, a Resolução fornece as ações específicas para corrigir os problemas identificados e a Verificação confirma se a solução funcionou corretamente.
Referência rápida: encontre seu problema
Use as categorias a seguir para localizar rapidamente a seção de solução de problemas relevante para o seu problema:
-
Problemas de instalação do complemento - ConsulteFalha na instalação do complemento de inferência devido à falta de drivers CSI,Definições de recursos personalizados de inferência estão ausentes durante a implantação do modelo,Falha na instalação do complemento de inferência devido à falta do cert-manager, Falha na instalação do complemento de inferência devido à falta do controlador ALB Falha na instalação do complemento de inferência devido à falta do operador KEDA
-
Problemas de permissão e IAM - Veja Problema de permissão VPC ENIProblema de relacionamento de confiança do IAM, O operador de inferência falha ao iniciar
-
Problemas de implantação e recursos - VejaImplantação do modelo paralisada em estado pendente,Solução de problemas do estado de falha na implantação do modelo, Erro ausente do plug-in da GPU NVIDIA
-
Problemas de certificado e rede - VejaTempo limite de download do certificado, Falha na instalação do complemento de inferência devido à falta do cert-manager
Falha na instalação do complemento de inferência devido à falta de drivers CSI
Problema: a criação do complemento do operador de inferência falha porque as dependências necessárias do driver CSI não estão instaladas no cluster EKS.
Sintomas e diagnóstico
Mensagens de erro:
Os seguintes erros aparecem nos registros de criação do complemento ou nos registros do operador de inferência:
S3 CSI driver not installed (missing CSIDriver s3.csi.aws.com). Please install the required CSI driver and see the troubleshooting guide for more information. FSx CSI driver not installed (missing CSIDriver fsx.csi.aws.com). Please install the required CSI driver and see the troubleshooting guide for more information.
Etapas de diagnóstico:
-
Verifique se os drivers CSI estão instalados:
# Check for S3 CSI driver kubectl get csidriver s3.csi.aws.com kubectl get pods -n kube-system | grep mountpoint # Check for FSx CSI driver kubectl get csidriver fsx.csi.aws.com kubectl get pods -n kube-system | grep fsx -
Verifique o status do complemento EKS:
# List all add-ons aws eks list-addons --cluster-name $EKS_CLUSTER_NAME --region $REGION # Check specific CSI driver add-ons aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION 2>/dev/null || echo "S3 CSI driver not installed" aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION 2>/dev/null || echo "FSx CSI driver not installed" -
Verifique o status do complemento do operador de inferência:
aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health,Issues:issues}" \ --output json
Resolução
Etapa 1: instalar o driver CSI S3 ausente
-
Crie a função IAM para o driver CSI do S3 (se ainda não tiver sido criada):
# Set up service account role ARN (from installation steps) export S3_CSI_ROLE_ARN=$(aws iam get-role --role-name $S3_CSI_ROLE_NAME --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found") echo "S3 CSI Role ARN: $S3_CSI_ROLE_ARN" -
Instale o complemento do driver S3 CSI:
aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name aws-mountpoint-s3-csi-driver \ --addon-version v1.14.1-eksbuild.1 \ --service-account-role-arn $S3_CSI_ROLE_ARN \ --region $REGION -
Verifique a instalação do driver S3 CSI:
# Wait for add-on to be active aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION # Verify CSI driver is available kubectl get csidriver s3.csi.aws.com kubectl get pods -n kube-system | grep mountpoint
Etapa 2: instalar o driver FSx CSI ausente
-
Crie a função do IAM para o driver FSx CSI (se ainda não tiver sido criada):
# Set up service account role ARN (from installation steps) export FSX_CSI_ROLE_ARN=$(aws iam get-role --role-name $FSX_CSI_ROLE_NAME --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found") echo "FSx CSI Role ARN: $FSX_CSI_ROLE_ARN" -
Instale o complemento do driver FSx CSI:
aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name aws-fsx-csi-driver \ --addon-version v1.6.0-eksbuild.1 \ --service-account-role-arn $FSX_CSI_ROLE_ARN \ --region $REGION # Wait for add-on to be active aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION # Verify FSx CSI driver is running kubectl get pods -n kube-system | grep fsx
Verifique todas as dependências
Depois de instalar as dependências ausentes, verifique se elas estão funcionando corretamente antes de tentar novamente a instalação do operador de inferência:
# Check all required add-ons are active aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name metrics-server --region $REGION aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION # Verify all pods are running kubectl get pods -n kube-system | grep -E "(mountpoint|fsx|metrics-server)" kubectl get pods -n cert-manager
Definições de recursos personalizados de inferência estão ausentes durante a implantação do modelo
Problema: Faltam definições de recursos personalizados (CRDs) quando você tenta criar implantações de modelo. Esse problema ocorre quando você instalou e excluiu anteriormente o complemento de inferência sem limpar as implantações do modelo que têm finalizadores.
Sintomas e diagnóstico
Causa raiz:
Se você excluir o complemento de inferência sem primeiro remover todas as implantações do modelo, os recursos personalizados com finalizadores permanecerão no cluster. Esses finalizadores devem ser concluídos antes que você possa excluir o. CRDs O processo de exclusão do complemento não espera a conclusão da exclusão do CRD, o que faz com que ele permaneça em um estado de encerramento e impede novas instalações. CRDs
Para diagnosticar esse problema
-
Verifique se CRDs existe.
kubectl get crd | grep inference.sagemaker.aws.amazon.com -
Verifique se há recursos personalizados bloqueados.
# Check for JumpStartModel resources kubectl get jumpstartmodels -A # Check for InferenceEndpointConfig resources kubectl get inferenceendpointconfigs -A -
Inspecione os finalizadores em recursos bloqueados.
# Example for a specific JumpStartModel kubectl get jumpstartmodels <model-name> -n <namespace> -o jsonpath='{.metadata.finalizers}' # Example for a specific InferenceEndpointConfig kubectl get inferenceendpointconfigs <config-name> -n <namespace> -o jsonpath='{.metadata.finalizers}'
Resolução
Remova manualmente os finalizadores de todas as implantações do modelo que não foram excluídas quando você removeu o complemento de inferência. Conclua as etapas a seguir para cada recurso personalizado bloqueado.
Para remover finalizadores dos recursos JumpStartModel
-
Liste todos os JumpStartModel recursos em todos os namespaces.
kubectl get jumpstartmodels -A -
Para cada JumpStartModel recurso, remova os finalizadores corrigindo o recurso para definir metadata.finalizers como uma matriz vazia.
kubectl patch jumpstartmodels <model-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=mergeO exemplo a seguir mostra como corrigir um recurso chamado kv-l1-only.
kubectl patch jumpstartmodels kv-l1-only -n default -p '{"metadata":{"finalizers":[]}}' --type=merge -
Verifique se a instância do modelo foi excluída.
kubectl get jumpstartmodels -AQuando todos os recursos estiverem limpos, você deverá ver o seguinte resultado.
Error from server (NotFound): Unable to list "inference.sagemaker.aws.amazon.com/v1, Resource=jumpstartmodels": the server could not find the requested resource (get jumpstartmodels.inference.sagemaker.aws.amazon.com) -
Verifique se o JumpStartModel CRD foi removido.
kubectl get crd | grep jumpstartmodels---inference---sagemaker---aws.amazon.com.rproxy.govskope.caSe o CRD for removido com sucesso, esse comando não retornará nenhuma saída.
Para remover finalizadores dos recursos InferenceEndpointConfig
-
Liste todos os InferenceEndpointConfig recursos em todos os namespaces.
kubectl get inferenceendpointconfigs -A -
Para cada InferenceEndpointConfig recurso, remova os finalizadores.
kubectl patch inferenceendpointconfigs <config-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=mergeO exemplo a seguir mostra como corrigir um recurso chamado my-inference-config.
kubectl patch inferenceendpointconfigs my-inference-config -n default -p '{"metadata":{"finalizers":[]}}' --type=merge -
Verifique se a instância de configuração foi excluída.
kubectl get inferenceendpointconfigs -AQuando todos os recursos estiverem limpos, você deverá ver o seguinte resultado.
Error from server (NotFound): Unable to list "inference.sagemaker.aws.amazon.com/v1, Resource=inferenceendpointconfigs": the server could not find the requested resource (get inferenceendpointconfigs.inference.sagemaker.aws.amazon.com) -
Verifique se o InferenceEndpointConfig CRD foi removido.
kubectl get crd | grep inferenceendpointconfigs---inference---sagemaker---aws.amazon.com.rproxy.govskope.caSe o CRD for removido com sucesso, esse comando não retornará nenhuma saída.
Para reinstalar o complemento de inferência
Depois de limpar todos os recursos bloqueados e verificar se CRDs eles foram removidos, reinstale o complemento de inferência. Para obter mais informações, consulte Instalando o operador de inferência com o complemento EKS.
Verificação
-
Verifique se o complemento de inferência foi instalado com êxito.
aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health}" \ --output tableO Status deve ser ATIVO e a Saúde deve ser SAUDÁVEL.
-
Verifique se CRDs estão instalados corretamente.
kubectl get crd | grep inference---sagemaker---aws.amazon.com.rproxy.govskope.caVocê deve ver o relacionado à inferência CRDs listado na saída.
-
Teste a criação de uma nova implantação de modelo para confirmar se o problema foi resolvido.
# Create a test deployment using your preferred method kubectl apply -f <your-model-deployment.yaml>
Prevenção
Para evitar esse problema, conclua as etapas a seguir antes de desinstalar o complemento de inferência.
-
Exclua todas as implantações do modelo.
# Delete all JumpStartModel resources kubectl delete jumpstartmodels --all -A # Delete all InferenceEndpointConfig resources kubectl delete inferenceendpointconfigs --all -A # Wait for all resources to be fully deleted kubectl get jumpstartmodels -A kubectl get inferenceendpointconfigs -A -
Verifique se todos os recursos personalizados foram excluídos.
-
Depois de confirmar que todos os recursos foram limpos, exclua o complemento de inferência.
Falha na instalação do complemento de inferência devido à falta do cert-manager
Problema: a criação do complemento do operador de inferência falha porque o complemento EKS do cert-manager não está instalado, resultando na ausência de definições de recursos personalizados (). CRDs
Sintomas e diagnóstico
Mensagens de erro:
Os seguintes erros aparecem nos registros de criação do complemento ou nos registros do operador de inferência:
Missing required CRD: certificaterequests.cert-manager.io. The cert-manager add-on is not installed. Please install cert-manager and see the troubleshooting guide for more information.
Etapas de diagnóstico:
-
Verifique se o cert-manager está instalado:
# Check for cert-manager CRDs kubectl get crd | grep cert-manager kubectl get pods -n cert-manager # Check EKS add-on status aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION 2>/dev/null || echo "Cert-manager not installed" -
Verifique o status do complemento do operador de inferência:
aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health,Issues:issues}" \ --output json
Resolução
Etapa 1: instalar o complemento cert-manager
-
Instale o complemento cert-manager EKS:
aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name cert-manager \ --addon-version v1.18.2-eksbuild.2 \ --region $REGION -
Verifique a instalação do cert-manager:
# Wait for add-on to be active aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION # Verify cert-manager pods are running kubectl get pods -n cert-manager # Verify CRDs are installed kubectl get crd | grep cert-manager | wc -l # Expected: Should show multiple cert-manager CRDs
Etapa 2: Repetir a instalação do operador de inferência
-
Depois que o cert-manager for instalado, tente novamente a instalação do operador de inferência:
# Delete the failed add-on if it exists aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation" # Wait for deletion to complete sleep 30 # Reinstall the inference operator add-on aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --addon-version v1.0.0-eksbuild.1 \ --configuration-values file://addon-config.json \ --region $REGION -
Monitore a instalação:
# Check installation status aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health}" \ --output table # Verify inference operator pods are running kubectl get pods -n hyperpod-inference-system
Falha na instalação do complemento de inferência devido à falta do controlador ALB
Problema: a criação do complemento do operador de inferência falha porque o Load AWS Balancer Controller não está instalado ou não está configurado corretamente para o complemento de inferência.
Sintomas e diagnóstico
Mensagens de erro:
Os seguintes erros aparecem nos registros de criação do complemento ou nos registros do operador de inferência:
ALB Controller not installed (missing aws-load-balancer-controller pods). Please install the Application Load Balancer Controller and see the troubleshooting guide for more information.
Etapas de diagnóstico:
-
Verifique se o controlador ALB está instalado:
# Check for ALB Controller pods kubectl get pods -n kube-system | grep aws-load-balancer-controller kubectl get pods -n hyperpod-inference-system | grep aws-load-balancer-controller # Check ALB Controller service account kubectl get serviceaccount aws-load-balancer-controller -n kube-system 2>/dev/null || echo "ALB Controller service account not found" kubectl get serviceaccount aws-load-balancer-controller -n hyperpod-inference-system 2>/dev/null || echo "ALB Controller service account not found in inference namespace" -
Verifique a configuração do complemento do operador de inferência:
aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health,ConfigurationValues:configurationValues}" \ --output json
Resolução
Escolha uma das seguintes opções com base na sua configuração:
Opção 1: deixar o complemento de inferência instalar o controlador ALB (recomendado)
-
Verifique se a função ALB foi criada e configurada corretamente em sua configuração complementar:
# Verify ALB role exists export ALB_ROLE_ARN=$(aws iam get-role --role-name alb-role --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found") echo "ALB Role ARN: $ALB_ROLE_ARN" # Update your addon-config.json to enable ALB cat > addon-config.json << EOF { "executionRoleArn": "$EXECUTION_ROLE_ARN", "tlsCertificateS3Bucket": "$BUCKET_NAME", "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN", "alb": { "enabled": true, "serviceAccount": { "create": true, "roleArn": "$ALB_ROLE_ARN" } }, "keda": { "auth": { "aws": { "irsa": { "roleArn": "$KEDA_ROLE_ARN" } } } } } EOF
Opção 2: Usar a instalação existente do controlador ALB
-
Se você já tiver o ALB Controller instalado, configure o complemento para usar a instalação existente:
# Update your addon-config.json to disable ALB installation cat > addon-config.json << EOF { "executionRoleArn": "$EXECUTION_ROLE_ARN", "tlsCertificateS3Bucket": "$BUCKET_NAME", "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN", "alb": { "enabled": false }, "keda": { "auth": { "aws": { "irsa": { "roleArn": "$KEDA_ROLE_ARN" } } } } } EOF
Etapa 3: Repetir a instalação do operador de inferência
-
Reinstale o complemento do operador de inferência com a configuração atualizada:
# Delete the failed add-on if it exists aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation" # Wait for deletion to complete sleep 30 # Reinstall with updated configuration aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --addon-version v1.0.0-eksbuild.1 \ --configuration-values file://addon-config.json \ --region $REGION -
Verifique se o controlador ALB está funcionando:
# Check ALB Controller pods kubectl get pods -n hyperpod-inference-system | grep aws-load-balancer-controller kubectl get pods -n kube-system | grep aws-load-balancer-controller # Check service account annotations kubectl describe serviceaccount aws-load-balancer-controller -n hyperpod-inference-system 2>/dev/null kubectl describe serviceaccount aws-load-balancer-controller -n kube-system 2>/dev/null
Falha na instalação do complemento de inferência devido à falta do operador KEDA
Problema: a criação do complemento do operador de inferência falha porque o operador KEDA (Kubernetes Event Driven Autoscaler) não está instalado ou não está configurado adequadamente para o complemento de inferência.
Sintomas e diagnóstico
Mensagens de erro:
Os seguintes erros aparecem nos registros de criação do complemento ou nos registros do operador de inferência:
KEDA operator not installed (missing keda-operator pods). KEDA can be installed separately in any namespace or via the Inference addon.
Etapas de diagnóstico:
-
Verifique se o operador KEDA está instalado:
# Check for KEDA operator pods in common namespaces kubectl get pods -n keda-system | grep keda-operator 2>/dev/null || echo "KEDA not found in keda-system namespace" kubectl get pods -n kube-system | grep keda-operator 2>/dev/null || echo "KEDA not found in kube-system namespace" kubectl get pods -n hyperpod-inference-system | grep keda-operator 2>/dev/null || echo "KEDA not found in inference namespace" # Check for KEDA CRDs kubectl get crd | grep keda 2>/dev/null || echo "KEDA CRDs not found" # Check KEDA service account kubectl get serviceaccount keda-operator -A 2>/dev/null || echo "KEDA service account not found" -
Verifique a configuração do complemento do operador de inferência:
aws eks describe-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION \ --query "addon.{Status:status,Health:health,ConfigurationValues:configurationValues}" \ --output json
Resolução
Escolha uma das seguintes opções com base na sua configuração:
Opção 1: deixar o complemento de inferência instalar o KEDA (recomendado)
-
Verifique se a função KEDA foi criada e configurada corretamente na configuração do complemento:
# Verify KEDA role exists export KEDA_ROLE_ARN=$(aws iam get-role --role-name keda-operator-role --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found") echo "KEDA Role ARN: $KEDA_ROLE_ARN" # Update your addon-config.json to enable KEDA cat > addon-config.json << EOF { "executionRoleArn": "$EXECUTION_ROLE_ARN", "tlsCertificateS3Bucket": "$BUCKET_NAME", "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN", "alb": { "serviceAccount": { "create": true, "roleArn": "$ALB_ROLE_ARN" } }, "keda": { "enabled": true, "auth": { "aws": { "irsa": { "roleArn": "$KEDA_ROLE_ARN" } } } } } EOF
Opção 2: Usar a instalação existente do KEDA
-
Se você já tem o KEDA instalado, configure o complemento para usar a instalação existente:
# Update your addon-config.json to disable KEDA installation cat > addon-config.json << EOF { "executionRoleArn": "$EXECUTION_ROLE_ARN", "tlsCertificateS3Bucket": "$BUCKET_NAME", "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN", "alb": { "serviceAccount": { "create": true, "roleArn": "$ALB_ROLE_ARN" } }, "keda": { "enabled": false } } EOF
Etapa 3: Repetir a instalação do operador de inferência
-
Reinstale o complemento do operador de inferência com a configuração atualizada:
# Delete the failed add-on if it exists aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation" # Wait for deletion to complete sleep 30 # Reinstall with updated configuration aws eks create-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name amazon-sagemaker-hyperpod-inference \ --addon-version v1.0.0-eksbuild.1 \ --configuration-values file://addon-config.json \ --region $REGION -
Verifique se o KEDA está funcionando:
# Check KEDA pods kubectl get pods -n hyperpod-inference-system | grep keda kubectl get pods -n kube-system | grep keda kubectl get pods -n keda-system | grep keda 2>/dev/null # Check KEDA CRDs kubectl get crd | grep scaledobjects kubectl get crd | grep scaledjobs # Check KEDA service account annotations kubectl describe serviceaccount keda-operator -n hyperpod-inference-system 2>/dev/null kubectl describe serviceaccount keda-operator -n kube-system 2>/dev/null kubectl describe serviceaccount keda-operator -n keda-system 2>/dev/null
Tempo limite de download do certificado
Ao implantar um endpoint de SageMaker IA, o processo de criação falha devido à incapacidade de baixar o certificado da autoridade de certificação (CA) em um ambiente VPC. Para obter etapas detalhadas de configuração, consulte o Guia do administrador
Mensagem de erro:
O erro a seguir aparece nos CloudWatch registros do endpoint de SageMaker IA:
Error downloading CA certificate: Connect timeout on endpoint URL: "https://****.s3.<REGION>.amazonaws.com/****/***.pem"
Causa raiz:
-
Esse problema ocorre quando o operador de inferência não pode acessar o certificado autoassinado no Amazon S3 dentro da sua VPC.
-
A configuração adequada do endpoint Amazon S3 VPC é essencial para o acesso ao certificado
Resolução:
-
Se você não tiver um endpoint Amazon S3 VPC:
-
Se você já tem um endpoint Amazon S3 VPC:
-
Certifique-se de que a tabela de rotas da sub-rede esteja configurada para apontar para o endpoint da VPC (se estiver usando o endpoint do gateway) ou que o DNS privado esteja habilitado para o endpoint da interface.
-
O endpoint VPC do Amazon S3 deve ser semelhante à configuração mencionada na seção 5.3 Etapa de criação do endpoint
-
Implantação do modelo paralisada em estado pendente
Ao implantar um modelo, a implantação permanece em um estado “Pendente” por um longo período. Isso indica que o operador de inferência não consegue iniciar a implantação do modelo em seu HyperPod cluster.
Componentes afetados:
Durante a implantação normal, o operador de inferência deve:
-
Implemente um pod de modelo
-
Criar um load balancer
-
Crie um endpoint de SageMaker IA
Etapas de solução de problemas:
-
Verifique o status do pod do operador de inferência:
kubectl get pods -n hyperpod-inference-systemExemplo de saída esperado:
NAME READY STATUS RESTARTS AGE hyperpod-inference-operator-controller-manager-65c49967f5-894fg 1/1 Running 0 6d13h -
Analise os registros do operador de inferência e examine os registros do operador em busca de mensagens de erro:
kubectl logs hyperpod-inference-operator-controller-manager-5b5cdd7757-txq8f -n hyperpod-inference-operator-system
O que procurar:
-
Mensagens de erro nos registros do operador
-
Status do pod do operador
-
Quaisquer avisos ou falhas relacionados à implantação
nota
Uma implantação saudável deve progredir além do estado “Pendente” dentro de um tempo razoável. Se os problemas persistirem, revise os registros do operador de inferência em busca de mensagens de erro específicas para determinar a causa raiz.
Solução de problemas do estado de falha na implantação do modelo
Quando a implantação de um modelo entra no estado “Falha”, a falha pode ocorrer em um dos três componentes:
-
Implantação de um pod modelo
-
Criação de balanceador de carga
-
SageMaker Criação de endpoints de IA
Etapas de solução de problemas:
-
Verifique o status do operador de inferência:
kubectl get pods -n hyperpod-inference-systemSaída esperada:
NAME READY STATUS RESTARTS AGE hyperpod-inference-operator-controller-manager-65c49967f5-894fg 1/1 Running 0 6d13h -
Revise os registros do operador:
kubectl logs hyperpod-inference-operator-controller-manager-5b5cdd7757-txq8f -n hyperpod-inference-operator-system
O que procurar:
Os registros do operador indicarão qual componente falhou:
-
Falhas na implantação do pod de modelo
-
Problemas de criação do balanceador de carga
-
SageMaker Erros de endpoint de IA
Verificando o progresso da implantação do modelo
Para monitorar o progresso da implantação do seu modelo e identificar possíveis problemas, você pode usar os comandos kubectl para verificar o status de vários componentes. Isso ajuda a determinar se a implantação está progredindo normalmente ou se encontrou problemas durante a criação do pod de modelo, a configuração do balanceador de carga ou as fases de configuração do endpoint de SageMaker IA.
Método 1: Verificar o status do JumpStart modelo
kubectl describe jumpstartmodel.inference.sagemaker.aws.amazon.com/<model-name> -n <namespace>
Principais indicadores de status a serem monitorados:
-
Status da implantação
-
Procure por
Status.State: Deve mostrarDeploymentComplete -
Verifique
Status.Deployment Status.Available Replicas -
Monitore
Status.Conditionso progresso da implantação
-
-
SageMaker Status do endpoint de IA
-
Verifique
Status.Endpoints.Sagemaker.State: Deve aparecerCreationCompleted -
Verificar
Status.Endpoints.Sagemaker.Endpoint Arn
-
-
Status do certificado TLS
-
Exibir
Status.Tls Certificatedetalhes -
Verifique a expiração do certificado em
Last Cert Expiry Time
-
Método 2: Verificar a configuração do endpoint de inferência
kubectl describe inferenceendpointconfig.inference.sagemaker.aws.amazon.com/<deployment_name> -n <namespace>
O status comum afirma:
-
DeploymentInProgress: Fase inicial de implantação -
DeploymentComplete: Implantação bem-sucedida -
Failed: Falha na implantação
nota
Monitore a seção Eventos em busca de avisos ou erros. Verifique se a contagem de réplicas corresponde à configuração esperada. Verifique se todas as condições são exibidas Status:
True para uma implantação saudável.
Problema de permissão VPC ENI
SageMaker A criação de endpoints de IA falha devido a permissões insuficientes para criar interfaces de rede na VPC.
Mensagem de erro:
Please ensure that the execution role for variant AllTraffic has sufficient permissions for creating an endpoint variant within a VPC
Causa raiz:
A função de execução do operador de inferência não tem a permissão necessária do Amazon EC2 para criar interfaces de rede (ENI) na VPC.
Resolução:
Adicione a seguinte permissão do IAM à função de execução do operador de inferência:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterfacePermission" ], "Resource": "*" }
Verificação:
Depois de adicionar a permissão:
-
Exclua o endpoint com falha (se existir)
-
Repita a criação do endpoint
-
Monitore o status da implantação para uma conclusão bem-sucedida
nota
Essa permissão é essencial para endpoints de SageMaker IA executados no modo VPC. Certifique-se de que a função de execução também tenha todas as outras permissões necessárias relacionadas à VPC.
Problema de relacionamento de confiança do IAM
HyperPod o operador de inferência falha ao iniciar com um AssumeRoleWithWebIdentity erro STS, indicando um problema de configuração do relacionamento de confiança do IAM.
Mensagem de erro:
failed to enable inference watcher for HyperPod cluster *****: operation error SageMaker: UpdateClusterInference, get identity: get credentials: failed to refresh cached credentials, failed to retrieve credentials, operation error STS: AssumeRoleWithWebIdentity, https response error StatusCode: 403, RequestID: ****, api error AccessDenied: Not authorized to perform sts:AssumeRoleWithWebIdentity
Resolução:
Atualize a relação de confiança da função de execução do IAM do operador de inferência com a configuração a seguir.
Substitua os seguintes espaços reservados:
-
<ACCOUNT_ID>: ID AWS da sua conta -
<REGION>: Sua AWS região -
<OIDC_ID>: ID do provedor OIDC do seu cluster Amazon EKS
Verificação:
Depois de atualizar a relação de confiança:
-
Verifique a configuração da função no console do IAM
-
Reinicie o operador de inferência, se necessário
-
Monitore os registros do operador para uma inicialização bem-sucedida
Erro ausente do plug-in da GPU NVIDIA
A implantação do modelo falha com erro de insuficiência de GPU, apesar de ter nós de GPU disponíveis. Isso ocorre quando o plug-in do dispositivo NVIDIA não está instalado no HyperPod cluster.
Mensagem de erro:
0/15 nodes are available: 10 node(s) didn't match Pod's node affinity/selector, 5 Insufficient nvidia.com/gpu. preemption: 0/15 nodes are available: 10 Preemption is not helpful for scheduling, 5 No preemption victims found for incoming pod.
Causa raiz:
-
O Kubernetes não consegue detectar recursos de GPU sem o plug-in de dispositivo NVIDIA
-
Resulta em falhas de agendamento para cargas de trabalho da GPU
Resolução:
Instale o plug-in da GPU NVIDIA executando:
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/refs/tags/v0.17.1/deployments/static/nvidia-device-plugin.yml
Etapas de verificação:
-
Verifique o status de implantação do plug-in:
kubectl get pods -n kube-system | grep nvidia-device-plugin -
Verifique se os recursos da GPU agora estão visíveis:
kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\\.com/gpu -
Repetir a implantação do modelo
nota
Certifique-se de que os drivers NVIDIA estejam instalados nos nós da GPU. A instalação do plug-in é uma configuração única por cluster. Pode exigir privilégios de administrador do cluster para instalar.
O operador de inferência falha ao iniciar
O pod do operador de inferência falhou ao iniciar e está causando a seguinte mensagem de erro. Esse erro ocorre porque a política de permissão da função de execução do operador não está autorizada a ser executadasts:AssumeRoleWithWebIdentity. Devido a isso, a peça do operador em execução no plano de controle não é iniciada.
Mensagem de erro:
Warning Unhealthy 5m46s (x22 over 49m) kubelet Startup probe failed: Get "http://10.1.100.59:8081/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Causa raiz:
-
A política de permissão da função de execução do operador de inferência não está definida para acessar o token de autorização para recursos.
Resolução:
Defina a seguinte política da função de execução de EXECUTION_ROLE_ARN para o operador de HyperPod inferência:
HyperpodInferenceAccessPolicy-ml-cluster to include all resources
Etapas de verificação:
-
Alterar a política.
-
Encerre o pod do operador de HyperPod inferência.
-
O pod será reiniciado sem nenhuma exceção.