Kubernetes でサポートされているセルフホステッド統合ランタイムのトラブルシューティング
この記事では、Kubernetes ベースの Linux 用の新しいセルフホステッド統合ランタイムのトラブルシューティングの詳細について説明します。
以下のエラー ガイドに表示されるすべてのエラーを検索できます。 SHIR の問題に関するサポートとトラブルシューティングのガイダンスを取得するには、ログ アップロード ID を生成し、 Microsoft サポートにお問い合わせください。
Kubernetes セルフホステッド統合ランタイム ログを収集する
Microsoft サポートのログ アップロード ID を生成するには:
- スキャンの状態が [失敗] と表示されたら、 IRCTL ツールがインストールされている VM またはマシンに移動します。
-
./irctl log upload
コマンドを使用します。 - ログがアップロードされたら、印刷されたログアップロード ID の記録を保持します。
- セルフホステッド統合ランタイムの登録に失敗した場合は、以下のガイドを使用してログをローカルにダウンロードし、Microsoft サポートに送信します
セルフホステッド統合ランタイム ログを収集し、実行ログをスキャンして SHIR のトラブルシューティングを行うには、./irctl log download
コマンドを使用します。
以下に例を示します。
./irctl log download --destination "C:\Users\user\logs\"
ログは宛先パスにダウンロードされます。
注:
ログは 14 日間予約されます。 Microsoft にアップロードするか、ローカル コンピューターにダウンロードして保存してください。
Kubernetes への IRCTL 接続エラー
Kubernetes 管理者から Kubernetes コンテキスト構成が取得され、登録が失敗し、次のいずれかのエラー メッセージが表示される場合があります。
Error: invalid flag context [] .kube/config: no such file or directory
[Warning] Failed to create kube client with context [] with error
原因
セルフホステッド統合ランタイムをインストールする場合は、正しい Kubernetes 構成と安定した接続が必要です。
解決方法
- Kubernetes コンテキスト ファイルが正しいパスにあることを確認します。
- IRCTL マシンが Kubernetes クラスター API サーバーに到達できることを確認します。
IRCTL アクセス許可エラー
接続すると、次のエラー メッセージが表示される場合があります。
[Error] Failed to list namespaces to get Running SHIR
[Error] Failed to get configmap/ create job/ etc.
原因
セルフホステッド統合ランタイムをインストールする場合は、複数の Kubernetes リソースに対する十分なアクセス許可が必要です。
解決方法
管理 ロールを使用して Kubernetes サービス アカウント トークンを再生成します。
Microsoft Purview サービス エンドポイントへの IRCTL 接続エラー
Kubernetes でサポートされているセルフホステッド統合ランタイムを登録しようとすると、IRCTL create コマンドによって次のエラーが返される可能性があります。
[Error] Failed to register SHIR with error: Post “https://[REGION].compute.governance.azure.com/purviewAccounts/[]/integrationruntimes/[]/registerselfhostedintegrationruntime: []”
原因
IRCTL はサービス バックエンドに接続できません。 このような問題は通常、ネットワーク設定またはファイアウォールによって発生します。
解決方法
IRCTL ホスト コンピューターのネットワーク トポロジを確認します。 一般的な統合ランタイムのトラブルシューティング ページの「ファイアウォール、DNSServer、SSL 証明書の信頼、http プロキシ」のセクションを参照してください。
登録キーが承認されていません
Kubernetes でサポートされているセルフホステッド統合ランタイムを登録しようとすると、IRCTL create コマンドによって次のエラーが返される可能性があります。
[Error] failed to register SHIR with error: Request is not authorized.
原因
有効期限が切れていたか、手動で取り消されました。
解決方法
Microsoft Purview ポータルの統合ランタイムのページからキーを再生成し、再度登録します。
Kubernetes セルフホステッド IR の作成タイムアウト エラー
Kubernetes でサポートされているセルフホステッド統合ランタイムを登録しようとすると、IRCTL create コマンドが最終的にタイムアウトするまで長く実行される可能性があります。
まず、 irctl describe
コマンドで説明されている名前空間の下にあるポッドの状態を確認します。
以下に例を示します。
./irctl describe
K8s SHIR Name:shir-demo
Purview AccountName: shirdemopurview
Installation ID: 00000000-0000-0000-0000-000000000000
Kubernetes Namespace: shirdemopurview-shir-demo, compute-fleet-system(control-plane)
K8s SHIR Version: Unknown (Installation not completed)
Status: Initializing
Healthiness: Unhealthy
kubectl get pods --namespace shirdemopurview-shir-demo
NAME READY STATUS RESTARTS AGE
batch-defaultspec-4pbwx 0/1 Pending 0 10m
batch-defaultspec-7t9bl 0/1 Pending 0 10m
dynamic-config-provider-778c686fdc-9mkjb 0/1 Pending 0 10m
interactive-schemaprocess-bcrmf 0/1 Pending 0 10m
interactive-schemaprocess-fn66x 0/1 Pending 0 10m
logagent-ds-84jqn 0/1 Pending 0 10m
logagent-ds-k7vw8 0/1 Pending 0 10m
user-credential-proxy-579c899b64-d4q5v 0/1 Pending 0 10m
次に示すように、いくつかの潜在的な原因があります。
原因 - Microsoft Purview サービス エンドポイントとの接続
Kubernetes は MCR (mcr.microsoft.com) に接続できません。 このエラーは通常、ネットワーク設定またはファイアウォールによって発生します。
状態が "ImagePullBackOff" と表示されている場合は、Kubernetes が MCR (mcr.microsoft.com) に接続してポッド イメージをダウンロードできないことを意味します。 このエラーは通常、ネットワーク設定またはファイアウォールによって発生します。
解決策 - Microsoft Purview サービス エンドポイントとの接続
Kubernetes クラスターのネットワーク トポロジを確認します。 たとえば、Azure Kubernetes の場合は、次のチェックする必要があります。
注:
必要なトラブルシューティング手順は、Kubernetes プロバイダーごとに異なります。 デプロイの場所と個々のネットワークの詳細は、ネットワークによって異なります。 organizationのネットワーク経由の接続を確認する必要があります。
IRCTL ホスト コンピューターのネットワーク トポロジを確認します。 一般的な統合ランタイムのトラブルシューティング ページの「ファイアウォール、DNSServer、SSL 証明書の信頼、http プロキシ」のセクションを参照してください。
原因 - Kubernetes ノード構成エラー
一部のポッドの状態が 'Pending' でスタックしている場合は、describe pod コマンドを使用してポッドの詳細を確認します。
以下に例を示します。
kubectl describe pod batch-defaultspec-4pbwx --namespace shirdemopurview-shir-demo
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 13m default-scheduler 0/5 nodes are available: 1 Too many pods. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod..
describe コマンドのイベントは、ポッドが保留中の理由を示すことができます。 詳細メッセージが表示された FailedScheduling エラーは、ポッドの合計数がノード上のポッドの最大数を超えていることを示しています。 選択したノードに新しいポッドをスケジュールすることはできません。
注:
説明の下にイベントが表示されない場合は、コマンドを kubectl delete pod
してポッドを手動で削除し、新しく作成したポッドを追跡してみてください。
解決策 - Kubernetes ノード構成エラー
通常の使用率とアップグレードのシナリオをサポートするために、kubernetes 統合ランタイムのポッド番号を 20 個予約します。
Microsoft Purview サービス エンドポイントを使用した Kubernetes 接続エラー
Kubernetes でサポートされているセルフホステッド統合ランタイムを登録しようとすると、IRCTRL create コマンドが最終的にタイムアウトするまで長く実行される可能性があります。または、インストールが成功すると、セルフホステッド統合ランタイムの状態は、Microsoft Purview ポータルで異常またはオフラインとして表示されます。
次のコマンドを使用してログを確認します。 kubectl logs [podName] -n compute-fleet-system
次のいずれかのエラーが表示される場合があります。
“TraceMessage”:”HttpRequestFailed”, “Host”: “fleet.[REGION].compute.governance.azure.com”
Exception":"System.Net.Http.HttpRequestException: Connection refused fleet.[REGION].compute.governance.azure.com:443
System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443
原因
Kubernetes はサービス バックエンドに接続できません。 このエラーは通常、ネットワーク設定またはファイアウォールによって発生します。
解決方法
Kubernetes クラスターのネットワーク トポロジを確認します。 たとえば、Azure Kubernetes の場合は、次のチェックする必要があります。
注:
必要なトラブルシューティング手順は、Kubernetes プロバイダーごとに異なります。 デプロイの場所と個々のネットワークの詳細は、ネットワークによって異なります。 organizationのネットワーク経由の接続を確認する必要があります。
IRCTL ホスト コンピューターのネットワーク トポロジを確認します。 一般的な統合ランタイムのトラブルシューティング ページの「ファイアウォール、DNSServer、SSL 証明書の信頼、http プロキシ」のセクションを参照してください。
ローカル リソースが使用できないランタイムの登録を解除する
ローカルのセルフホステッド統合ランタイムが誤って Kubernetes クラスターから削除された場合、 irctl delete
コマンド を使用して削除することはできません。また、別の Kubernetes クラスターにインストールすることはできません。
原因
セルフホステッド統合ランタイムは、1 つの Kubernetes クラスターにのみインストールできます。 登録した後は、登録を解除する前に別のクラスターにインストールすることはできません。
解決方法
セルフホステッド統合のローカル状態を確認します。 実行中のセルフホステッド統合ランタイムが見つからないことがわかります。
$./irctl describe
Microsoft Purview ポータルでセルフホステッド統合ランタイムを確認します。 [オフライン] 状態が表示されます。 (ただし、トークンの有効期限には 1 時間の待機時間があります)。
状態の横にある [ インストールの登録解除 ] を選択し、操作を確認します。
登録解除が完了すると、状態が [未登録] と表示されます。
統合ランタイムを選択し、登録キーを取得します。