輸入錯誤:ERRIODEG

虛擬私有雲 經典基礎架構 Satellite

瞭解當 Ingress Operator 處於降級狀態時,如何解決 ERRIODEG 錯誤。

您可以使用 ibmcloud oc ingress status-report ignored-errors add 指令,將錯誤新增至 ignored-errors 清單。 忽略的錯誤仍會出現在 ibmcloud oc ingress status-report get 指令的輸出中,但在計算整體「Ingress 狀態」時會被忽略。

當您執行 ibmcloud oc ingress status-report get 指令來檢查叢集的 Ingress 元件狀態時,會看到類似下列的錯誤。

The Ingress Operator is in a degraded state (ERRIODEG).

Ingress 操作器會檢查 Ingress 控制器的性能,並在檢查失敗時進入欠佳狀態。

請確認您的節點未處於過載狀態。 節點過載可能會導致 Ingress Operator 的健康檢查失敗。

若要檢查您的 CPU 和記憶體是否具備足夠的餘裕,請執行以下指令。

kubectl top nodes

請查閱「ingress」的詳細資訊 ClusterOperator,並根據錯誤訊息完成相關步驟。

檢查 ingress ClusterOperator的狀態。 如果您在 DEGRADED 直欄中看到 False,請等待 10 到 15 分鐘,以查看「進入狀態」警告是否消失。 如果沒有,請根據 MESSAGE 直欄中的訊息來繼續進行疑難排解步驟。

oc get clusteroperator ingress

一或多個狀態狀況指出無法使用: DeploymentAvailable=False

  1. 確保叢集至少有兩個工作者節點。 如需相關資訊,請參閱 將工作者節點新增至標準叢集將工作者節點新增至 VPC 叢集
  2. 確保叢集工作者性能良好,否則無法排定 Ingress Controller Pod。 如需相關資訊,請參閱 工作者節點狀態

一或多個狀態狀況指出無法使用: LoadBalancerReady=False

  1. 僅限 VPC: 確定您未達到 LBaaS 實例配額。 如需相關資訊,請參閱 配額和服務限制ibmcloud is load-balancers 指令
  2. 確保叢集主節點性能良好。 如需相關資訊,請參閱 檢閱主節點性能
  3. 執行 ibmcloud oc cluster master refresh 指令,以重新整理叢集主節點。

一或多個其他狀態狀況指出欠佳狀態: CanaryChecksSucceeding=False

  1. 存取您的Red Hat OpenShift叢集

  2. 確保為 Ingress 子網域登錄正確的 LoadBalancer 服務位址。

    1. 執行 ibmcloud oc cluster get 指令 以查看 Ingress 子網域。
    2. 執行 ibmcloud oc nlb-dns get 指令,以查看已登錄的位址。
    3. 執行 oc get services -n openshift-ingress 指令,以取得實際負載平衡器位址。
    4. 比較已登錄及實際位址,並更新子網域 (如果不同的話)。 VPC: 執行 ibmcloud oc nlb-dns replace 指令 以取代現行位址。 典型: 執行 ibmcloud oc nlb-dns rm classic 指令 來移除目前已登錄的位址,然後使用 ibmcloud oc nlb-dns add 指令 來新增位址。 Satellite: 實際的位址取決於您的設定:若您透過外部負載平衡器對外公開工作節點,請註冊該負載平衡器的位址;否則,請註冊在 openshift-ingress 命名空間中分配給 router-external-default 服務的 IP 位址(請使用 oc get services -n openshift-ingress router-external-default -o yaml 指令來取得這些位址)。 執行 ibmcloud oc nlb-dns rm classic 指令 來移除目前已登錄的位址,然後使用 ibmcloud oc nlb-dns add 指令 來新增位址。
  3. 僅限 VPC: canary 性能檢查資料流量源自叢集的其中一個工作者節點。

    • 性能檢查資料流量源自叢集的其中一個工作者節點。 如果叢集具有公用服務端點,則資料流量會導向至 VPC Load Balancer 實例的公用浮動 IP 位址,因此需要將 Public Gateway 連接至所有工作者子網路。 如果叢集只有專用服務端點,則資料流量會導向至 VPC 負載平衡器的 VPC 子網路 IP 位址,因此不需要 Public Gateway。 對於具有公用服務端點的叢集:
      1. 執行 ibmcloud is public-gateways 以查看公用閘道。
      2. 執行 ibmcloud is subnets 以查看子網路。
      3. 對於每個子網路,只要有公用閘道,就會執行 ibmcloud is subnet <subnet-id> 來檢查。
        1. 如果您的子網路未連接公用閘道,則需要連接公用閘道。 如需相關資訊,請參閱 建立公用閘道
    • 如果 VPC 負載平衡器位於叢集的工作者節點以外的子網路上,則必須更新連接至 VPC 負載平衡器子網路的安全群組,以容許來自工作者子網路的送入資料流量。
    • 如需相關資訊,請參閱 在 Virtual Private Cloud 中建立 Red Hat OpenShift 叢集配置 VPC 子網路建立及管理 VPC 安全群組
  4. 請確保沒有任何防火牆規則會阻擋透過 UDP 和 TCP 傳輸的 Canary 流量或 DNS 流量。 VPC:Canary 流量源自其中一個工作節點,流經 VPC Public Gateway,並抵達 VPC 負載平衡器實例的對外端。 配置 VPC 安全群組以容許此通訊。 如需詳細資訊,請參閱 瞭解安全預設群集 VPC 網路,以及 建立和管理 VPC 安全群組Classic: 金絲雀流量來自其中一個工作節點的公用 IP 位址,並傳送到您的 classic 負載平衡器的公用 IP 位址。 配置網路原則以容許此通訊。 如需詳細資訊,請參閱 在傳統群集中使用網路政策控制流量

下一步

  1. 等待 30 分鐘,然後執行 oc get clusteroperator ingress 指令並重新檢查 MESSAGE 直欄。
  2. 如果您看到不同的錯誤訊息,請重複疑難排解步驟。
  3. 如果仍然發生此問題,請聯絡支援人員。 開啟 支援案例。 在案例詳細資料中,請務必包括任何相關日誌檔、錯誤訊息或指令輸出。