共用方式為


針對 Kubernetes 支援的自我裝載整合運行時間進行疑難解答

本文涵蓋針對適用於Linux的 Kubernetes型新自我裝載整合運行時間進行疑難解答的詳細數據。

您可以查閱您在下列錯誤指南中看到的任何錯誤。 若要取得 SHIR 問題的支援和疑難解答指引,您可能需要產生記錄上傳標識碼,並 連絡以Microsoft支援。

收集 Kubernetes 自我裝載整合運行時間記錄

若要產生 Microsoft 支援服務 的記錄上傳標識碼:

  1. 掃描顯示狀態為 [失敗] 之後,流覽至已安裝 IRCTL 工具的 VM 或電腦。
  2. ./irctl log upload使用 命令。
  3. 上傳記錄時,請保留列印的記錄上傳標識碼記錄。
  4. 如果自我裝載整合運行時間無法註冊,請使用下列指南將記錄下載到本機,並將記錄傳送至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 設定和穩定的連線能力。

解決方案

  1. 請確定 Kubernetes 內容檔案位於正確的路徑中。
  2. 請確定 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 映像。 此錯誤通常是由網路設定或防火牆所造成。

顯示 ImagePullBackOff 狀態的命令行螢幕快照。

解決方案 - 與 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 叢集上。 註冊之後,就無法在取消註冊之前安裝在另一個叢集上。

解決方案

  1. 檢查自我裝載整合本機狀態。 您應該會看到找不到執行中的自我裝載整合運行時間。

    $./irctl describe
    
  2. 在 Microsoft Purview 入口網站中檢查自我裝載整合運行時間。 您應該會看到 離線 狀態。 (不過,令牌到期會有 1 小時的延遲。)

  3. 選取狀態旁邊的 [取消註冊安裝 ],並確認作業。

  4. 取消註冊完成之後,您可以看到狀態顯示為 [未註冊]

  5. 選取整合運行時間並取得註冊金鑰。

  6. 重新安裝整合運行時間

後續步驟