針對具有 NSX 後端失敗的每個 Kubernetes 資源物件,會使用錯誤資訊建立一個 NSXError 物件。此外,所有叢集範圍錯誤還有一個錯誤物件。
依預設,會停用此功能。若要啟用此功能,您必須在安裝 NCP 時,在 ncp.ini 中將 enable_nsx_err_crd 設定為 True。
備註: 不得建立、更新或刪除 NSXError 物件。
如果您以原則模式啟動 NCP (搭配 NCP YAML 檔案中的選項 policy_nsxapi=true),則不支援 NSXError 資源。
用於顯示 NSXError 物件的命令:
- kubectl get nsxerrors
列出所有 NSXError 物件。
- kubectl get nsxerrors -l error-object-type=<type of resource>
列出與特定類型 Kubernetes 物件相關的 NSXError 物件,例如,類型為 services 的物件。
- kubectl get nsxerrors <nsxerror name> -o yaml
顯示 NSXError 物件的詳細資料。
- kubectl get svc <service name> -o yaml | grep nsxerror
找到與特定服務相關聯的 NSXError。
當您顯示 NSXError 物件的詳細資料時,[規格] 區段包含下列重要資訊。例如,
error-object-id: default.svc-1 error-object-name: svc-1 error-object-ns: default error-object-type: services message: - '[2019-01-21 20:25:36]23705: Number of pool members requested exceed LoadBalancerlimit'
在此範例中,命名空間是 default。服務名稱是 svc-1。Kubernetes 資源的類型是 services。
在此版本中,NSXError 物件支援下列錯誤。
- 由於 NSX Edge 限制,自動調整無法配置額外的負載平衡器。
- 負載平衡器虛擬伺服器數目超過限制 (未啟用自動調整)。
- 負載平衡器伺服器集區數目超過限制。
- 負載平衡器伺服器集區成員數目超過負載平衡器限制或 NSX Edge 限制。
- 處理負載平衡器類型的服務時,浮動 IP 位址已用盡。