針對 Kubernetes 支援的自我裝載整合運行時間進行疑難解答
本文涵蓋針對適用於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 service-account-token。
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 create 命令可能會長時間執行,直到最終逾時為止。
您可以從檢查命令所 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:443
System.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 小時的延遲。)
選取狀態旁邊的 [取消註冊安裝 ],並確認作業。
取消註冊完成之後,您可以看到狀態顯示為 [未註冊]。
選取整合運行時間並取得註冊金鑰。