本文涵蓋針對 Linux 的 Kubernetes 型新自我裝載整合執行階段進行疑難排解的詳細數據。
您可以在下面的錯誤指南中查找您看到的任何錯誤。 若要取得 SHIR 問題的支援和疑難排解指引,您可能需要產生記錄上傳識別碼,並 連絡 Microsoft 支援服務。
收集 Kubernetes 自我裝載整合執行階段記錄
若要產生 Microsoft 支援服務 的記錄上傳識別碼:
- 掃描顯示狀態失敗後,請流覽至安裝 IRCTL 工具的 VM 或電腦。
- 使用命令
./irctl log upload。 - 上傳記錄時,請保留列印的記錄上傳識別碼的記錄。
- 如果自我裝載整合執行階段無法註冊,請使用下列指南將記錄下載至本機,並將其傳送至 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 Proxy。
註冊金鑰未獲授權
當您嘗試註冊 Kubernetes 支援的自我裝載整合執行階段時,IRCTL create 命令可能會傳回下列錯誤:
[Error] failed to register SHIR with error: Request is not authorized.
原因
它們已過期或被手動撤銷。
解決方案
從 Microsoft Purview 入口網站中的整合執行階段頁面重新產生金鑰,然後重新註冊。
Kubernetes 自託管 IR 建立逾時錯誤
當您嘗試註冊 Kubernetes 支援的自我裝載整合執行階段時,IRCTL 建立命令可能會執行很長時間,直到最終逾時為止。
您可以從檢查命令提到 irctl describe 的命名空間下的 Pod 狀態開始。
例如:
./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) 來下載 Pod 映像。 此錯誤通常是由網路設定或防火牆引起的。
解決方案 - 與 Microsoft Purview 服務端點的連線
檢閱 Kubernetes 叢集的網路拓撲。 例如,針對 Azure Kubernetes,您應該檢查:
注意事項
每個 Kubernetes 提供者所需的疑難排解步驟都不同。 部署位置和個別網路詳細資料因網路而異。 您必須檢閱透過組織網路的連線能力。
檢閱 IRCTL 主機的網路拓撲。 請參閱 一般整合執行階段疑難排解頁面的這些區段:防火牆、DNSServer、SSL 憑證信任和 http Proxy。
原因 - Kubernetes 節點組態錯誤
如果某些 Pod 的狀態停留在「擱置中」,請使用 describe pod 命令來查看 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 命令中的事件可以說明 Pod 處於擱置狀態的原因。 帶有詳細消息的 FailedScheduling 錯誤顯示 Pod 總數超過節點上 Pod 的最大數量。 無法將新 Pod 排程到選取的節點。
注意事項
如果描述下沒有看到事件,請嘗試透過命令手動 kubectl delete pod 刪除 Pod 並追蹤新建立的 Pod。
解決方案 - Kubernetes 節點組態錯誤
保留 20 個 Pod 號碼,以支援 Kubernetes 整合執行階段,以支援正常使用率和升級案例。
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:443System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443
原因
Kubernetes 無法連線到服務後端。 此錯誤通常是由網路設定或防火牆引起的。
解決方案
檢閱 Kubernetes 叢集的網路拓撲。 例如,針對 Azure Kubernetes,您應該檢查:
注意事項
每個 Kubernetes 提供者所需的疑難排解步驟都不同。 部署位置和個別網路詳細資料因網路而異。 您必須檢閱透過組織網路的連線能力。
檢閱 IRCTL 主機的網路拓撲。 請參閱 一般整合執行階段疑難排解頁面的這些區段:防火牆、DNSServer、SSL 憑證信任和 http Proxy。
取消註冊本機資源無法使用的執行階段
如果您的本機自我裝載整合執行階段意外從 Kubernetes 叢集中刪除,您就無法使用命令刪除irctl delete它,也無法將它安裝到另一個 Kubernetes 叢集。
原因
自我裝載整合執行階段只能安裝在一個 Kubernetes 叢集上。 註冊之後,在取消註冊之前,就無法安裝在另一個叢集上。
解決方案
檢查自我裝載整合本機狀態。 您應該會看到找不到執行中的自我裝載整合執行階段。
$./irctl describe檢查 Microsoft Purview 入口網站中的自我裝載整合執行階段。 您應該會看到 離線 狀態 。 (不過,令牌到期有 1 小時的延遲 ) 。
選取狀態旁的取消 註冊安裝 ,然後確認作業。
取消註冊完成後,您可以看到狀態顯示為 未註冊。
選取整合執行階段並取得註冊金鑰。