針對常見的節點自動修復錯誤進行疑難解答
當 Azure Kubernetes Service (AKS) 偵測到狀態 NotReady
超過五分鐘的節點時,它會嘗試自動修復節點。 節點自動修復是最佳服務。 它不保證節點可以還原到狀況良好的狀態。 如需詳細資訊,請參閱 節點自動修復程式。
在節點自動修復程序期間,AKS 會在 reboot
狀況不良的節點上起始、 reimage
和 redeploy
動作。 錯誤可能會因為各種原因而發生,而且會透過 Kubernetes 事件探索錯誤碼。 您可以使用 Kubernetes 事件來監視節點的狀態和自動修復動作。
本文提供常見節點自動修復錯誤的潛在原因和解決方案,並概述監視節點自動修復程式的最佳做法。
必要條件
檢查下列 Kubernetes 事件,以識別節點自動修復錯誤的類型:
原因 | 事件訊息 | 描述 |
---|---|---|
NodeRebootError | 節點自動修復重新啟動動作因作業失敗而失敗:[這裡的錯誤碼] | 動作發生錯誤 reboot 時發出。 |
NodeReimageError | 節點自動修復重新映像動作因作業失敗而失敗:[這裡的錯誤碼] | 動作發生錯誤 reimage 時發出。 |
NodeRedeployError | 節點自動修復重新部署動作因作業失敗而失敗:[此處的錯誤碼] | 動作發生錯誤 redeploy 時發出。 |
注意
由於您的節點在自動修復程式之前已處於狀況不良狀態,因此在大部分情況下,節點自動修復錯誤不會影響您的叢集或應用程式。 當您遇到節點自動修復錯誤時,建議您遵循節點未就緒失敗基本疑難解答中的指示,嘗試修復節點。 如果您無法將它還原至Succeeded
狀態,並看到節點自動修復所回報的持續性錯誤,請連絡 Azure 支援 以取得協助。
常見的錯誤碼
錯誤碼 | 原因和解決方案 |
---|---|
VMExtensionProvisioningError | VM 上無法布建一或多個虛擬機 (VM) 擴充功能。 如需可能錯誤類型和疑難解答步驟的詳細資訊,請參閱 疑難解答ERR_VHD_FILE_NOT_FOUND錯誤碼 (124) 。 若要判斷節點上的確切 VM 擴充功能佈建錯誤,請在 Azure 入口網站 中檢視錯誤詳細數據。 |
InvalidParameter | 如果節點自動修復程式嘗試存取已不存在的節點,就會發生此錯誤。 |
scaleSetNameAndInstanceIDFromProviderID 失敗 | 當節點未正確布建時,就會發生此問題。 |
ManagedIdentityCredential 驗證失敗 | 當節點未正確初始化時,就會發生此問題。 |
VMRedeploymentFailed | 當您嘗試重新部署節點時,就會發生此錯誤。 在此情況下,您的節點集區可能會進入失敗狀態。 如需潛在原因和疑難解答步驟的詳細資訊,請參閱 針對處於失敗狀態的 Azure Kubernetes Service 叢集或節點進行疑難解答。 |
TooManyVMRedeploymentRequests | 當叢集超過 VM 重新部署要求的限制時,就會發生此錯誤。 Redeploy 是其中一個節點自動修復動作。 此錯誤表示 redeploy 動作無法修復您的節點。 若要針對節點未就緒問題進行疑難解答,請參閱 節點未就緒失敗的基本疑難解答。 |
OutboundConnectivityNotEnabledOnVMSS | 當您的節點或整體虛擬機擴展集未啟用輸出存取權時,就會發生此錯誤。 若要解決此問題,請使用最適合您應用程式的方法,為您的擴展集啟用安全的輸出存取。 如需詳細資訊,請參閱 “OutboundConnectivityNotEnabledOnVM。未針對虛擬機設定輸出連線。」 |
監視節點自動修復的最佳做法
AKS 預設會儲存過去一小時內的 Kubernetes 事件。 建議您啟用 Container Insights ,讓您可以儲存最多 90 天的事件。 您也可以 查詢事件並設定警示 ,以快速偵測節點自動修復錯誤。
節點自動修復是最佳服務。 它不保證您的節點可以還原至
Ready
狀態。 建議您主動監視並設定節點未就緒問題的警示,並自行針對這些問題進行疑難解答並加以解決。 如需詳細資訊,請參閱 節點未就緒問題的基本疑難解答。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。