翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CLI による推論演算子のインストールの失敗
概要: CLI AWS を使用して推論演算子をインストールする場合、依存関係がないためにアドオンのインストールが失敗することがあります。このセクションでは、一般的な CLI のインストール失敗シナリオとその解決方法について説明します。
CSI ドライバーがないため、推論アドオンのインストールに失敗しました
問題: 必要な CSI ドライバーの依存関係が EKS クラスターにインストールされていないため、推論演算子のアドオンの作成が失敗します。
症状と診断:
エラーメッセージ:
アドオン作成ログまたは推論演算子ログには、次のエラーが表示されます。
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.
診断手順:
-
CSI ドライバーがインストールされているかどうかを確認します。
# 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 -
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" -
推論演算子のアドオンステータスを確認します。
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
解決策:
ステップ 1: 見つからない S3 CSI ドライバーをインストールする
-
S3 CSI ドライバーの IAM ロールを作成します (まだ作成されていない場合)。
# 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" -
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 -
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
ステップ 2: 欠落している FSx CSI ドライバーをインストールする
-
FSx CSI ドライバーの IAM ロールを作成します (まだ作成されていない場合)。
# 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" -
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
ステップ 3: すべての依存関係を検証する
欠落している依存関係をインストールしたら、推論演算子のインストールを再試行する前に、それらが正しく実行されていることを確認します。
# 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
モデルのデプロイ中に推論カスタムリソース定義がありません
問題: モデルデプロイを作成しようとすると、カスタムリソース定義 (CRDs) がありません。この問題は、ファイナライザーを持つモデルデプロイをクリーンアップせずに、推論アドオンを以前にインストールおよび削除した場合に発生します。
症状と診断:
根本原因:
最初にすべてのモデルデプロイを削除せずに推論アドオンを削除した場合、ファイナライザーを持つカスタムリソースはクラスターに残ります。CRDs を削除する前に、これらのファイナライザーを完了する必要があります。アドオンの削除プロセスは CRD 削除が完了するまで待機しないため、CRDsは終了状態のままになり、新しいインストールができなくなります。
この問題を診断するには
-
CRDsが存在するかどうかを確認します。
kubectl get crd | grep inference.sagemaker.aws.amazon.com -
スタックしているカスタムリソースを確認します。
# Check for JumpStartModel resources kubectl get jumpstartmodels -A # Check for InferenceEndpointConfig resources kubectl get inferenceendpointconfigs -A -
スタックしたリソースのファイナライザーを検査します。
# 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}'
解決策:
推論アドオンを削除したときに削除されなかったすべてのモデルデプロイからファイナライザーを手動で削除します。スタックしたカスタムリソースごとに次の手順を実行します。
JumpStartModel リソースからファイナライザーを削除するには
-
すべての名前空間のすべての JumpStartModel リソースを一覧表示します。
kubectl get jumpstartmodels -A -
JumpStartModel リソースごとに、リソースにパッチを適用してフィナライザーを削除し、metadata.finalizers を空の配列に設定します。
kubectl patch jumpstartmodels <model-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge次の例は、kv-l1-only という名前のリソースにパッチを適用する方法を示しています。
kubectl patch jumpstartmodels kv-l1-only -n default -p '{"metadata":{"finalizers":[]}}' --type=merge -
モデルインスタンスが削除されていることを確認します。
kubectl get jumpstartmodels -Aすべてのリソースがクリーンアップされると、次の出力が表示されます。
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) -
JumpStartModel CRD が削除されていることを確認します。
kubectl get crd | grep jumpstartmodels---inference---sagemaker---aws.amazon.com.rproxy.govskope.caCRD が正常に削除された場合、このコマンドは出力を返しません。
InferenceEndpointConfig リソースからファイナライザーを削除するには
-
すべての名前空間のすべての InferenceEndpointConfig リソースを一覧表示します。
kubectl get inferenceendpointconfigs -A -
InferenceEndpointConfig リソースごとに、ファイナライザーを削除します。
kubectl patch inferenceendpointconfigs <config-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge次の例は、my-inference-config という名前のリソースにパッチを適用する方法を示しています。
kubectl patch inferenceendpointconfigs my-inference-config -n default -p '{"metadata":{"finalizers":[]}}' --type=merge -
設定インスタンスが削除されていることを確認します。
kubectl get inferenceendpointconfigs -Aすべてのリソースがクリーンアップされると、次の出力が表示されます。
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) -
InferenceEndpointConfig CRD が削除されていることを確認します。
kubectl get crd | grep inferenceendpointconfigs---inference---sagemaker---aws.amazon.com.rproxy.govskope.caCRD が正常に削除された場合、このコマンドは出力を返しません。
推論アドオンを再インストールするには
スタックしたすべてのリソースをクリーンアップし、CRDsが削除されたことを確認したら、推論アドオンを再インストールします。詳細については、「EKS アドオンを使用した推論演算子のインストール」を参照してください。
検証:
-
推論アドオンが正常にインストールされていることを確認します。
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ステータスはアクティブで、ヘルスは正常である必要があります。
-
CRDs が正しくインストールされていることを確認します。
kubectl get crd | grep inference.sagemaker.aws.amazon.com推論関連の CRDsが出力に表示されます。
-
新しいモデルデプロイの作成をテストして、問題が解決されたことを確認します。
# Create a test deployment using your preferred method kubectl apply -f <your-model-deployment.yaml>
防止策:
この問題を回避するには、推論アドオンをアンインストールする前に次の手順を実行します。
-
すべてのモデルデプロイを削除します。
# 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 -
すべてのカスタムリソースが削除されていることを確認します。
-
すべてのリソースがクリーンアップされたことを確認したら、推論アドオンを削除します。
cert-manager がないため、推論アドオンのインストールに失敗しました
問題: cert-manager EKS アドオンがインストールされていないため、推論演算子のアドオンの作成が失敗し、カスタムリソース定義 (CRDs。
症状と診断:
エラーメッセージ:
アドオン作成ログまたは推論演算子ログには、次のエラーが表示されます。
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.
診断手順:
-
cert-manager がインストールされているかどうかを確認します。
# 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" -
推論演算子のアドオンステータスを確認します。
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
解決策:
ステップ 1: cert-manager アドオンをインストールする
-
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 -
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
ステップ 2: 推論演算子のインストールを再試行する
-
cert-manager をインストールしたら、推論演算子のインストールを再試行します。
# 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 -
インストールをモニタリングします。
# 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
ALB コントローラーがないため、推論アドオンのインストールに失敗しました
問題: ロード AWS Load Balancerコントローラーがインストールされていないか、推論アドオン用に正しく設定されていないため、推論演算子のアドオンの作成が失敗します。
症状と診断:
エラーメッセージ:
アドオン作成ログまたは推論演算子ログには、次のエラーが表示されます。
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.
診断手順:
-
ALB Controller がインストールされているかどうかを確認します。
# 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" -
推論演算子のアドオン設定を確認します。
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
解決策:
設定に基づいて、次のいずれかのオプションを選択します。
オプション 1: 推論アドオンに ALB Controller をインストールさせる (推奨)
-
アドオン設定で ALB ロールが作成され、正しく設定されていることを確認します。
# 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
オプション 2: 既存の ALB Controller のインストールを使用する
-
ALB Controller が既にインストールされている場合は、既存のインストールを使用するようにアドオンを設定します。
# 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
ステップ 3: 推論演算子のインストールを再試行する
-
更新された設定で推論演算子アドオンを再インストールします。
# 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 -
ALB Controller が動作していることを確認します。
# 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
KEDA 演算子がないため、推論アドオンのインストールに失敗しました
問題: KEDA (Kubernetes Event Driven Autoscaler) 演算子がインストールされていないか、推論アドオンに正しく設定されていないため、推論演算子のアドオンの作成が失敗します。
症状と診断:
エラーメッセージ:
アドオン作成ログまたは推論演算子ログには、次のエラーが表示されます。
KEDA operator not installed (missing keda-operator pods). KEDA can be installed separately in any namespace or via the Inference addon.
診断手順:
-
KEDA 演算子がインストールされているかどうかを確認します。
# 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" -
推論演算子のアドオン設定を確認します。
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
解決策:
設定に基づいて、次のいずれかのオプションを選択します。
オプション 1: 推論アドオンに KEDA をインストールさせる (推奨)
-
アドオン設定で KEDA ロールが作成され、正しく設定されていることを確認します。
# 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
オプション 2: 既存の KEDA インストールを使用する
-
KEDA が既にインストールされている場合は、既存のインストールを使用するようにアドオンを設定します。
# 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
ステップ 3: 推論演算子のインストールを再試行する
-
更新された設定で推論演算子アドオンを再インストールします。
# 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 -
KEDA が動作していることを確認します。
# 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