IBM Cloud Docs
使用IBM Cloud Object Storage叢集附加元件時,為什麼我會看到傳輸端點未連接錯誤?

使用IBM Cloud Object Storage叢集附加元件時,為什麼我會看到傳輸端點未連接錯誤?

以下步驟僅適用於IBM Cloud Object Storage叢集附加元件。 如果您使用Helm插件,請參閱 為什麼我會看到傳輸端點未連接錯誤? 反而。

ibm-object-csi-driver 伺服器 Pod 和應用程式 Pod 之間的連線遺失時,您可能會看到 TransportEndpoint 錯誤。

出現此錯誤的一種可能情況是套用補丁更新時。 在這種情況下,應用程式 Pod 可能會遇到臨時連線錯誤。

ibm-object-csi-driver 支援自動恢復與 s3fs 失去連接的磁碟區。 可以透過部署 ibm-object-csi-driver 提供的自訂資源來實現自動復原。 此資源持續監視您指定的應用程式和命名空間,並在發生 TransportEndpoint 時自動重新啟動應用程式 Pod。

  1. 複製以下 yaml 並將其儲存為名為 stale.yaml 文件

    apiVersion: objectdriver.csi.ibm.com/v1alpha1
    kind: RecoverStaleVolume
    metadata:
      labels:
        app.kubernetes.io/name: recoverstalevolume
        app.kubernetes.io/instance: recoverstalevolume-sample
      name: recoverstalevolume-sample
      namespace: default
    spec:
      logHistory: 200
      data:
        - namespace: default # The namesapce where your app is deployed
          deployments: [<A comma separated list of all the apps you want to recover>]
    
  2. 在叢集中建立 RecoverStaleVolume 資源。

    oc create -f stale.yaml
    

    輸出範例

    recoverstalevolume.objectdriver.csi.ibm.com/recoverstalevolume-sample created
    
  3. 驗證資源已建立。

    oc get recoverstalevolume
    

    輸出範例

    NAME  AGE  recoverstalevolume-sample   41s
    
  4. 如果仍然發生此問題,請聯絡支援人員。 開啟 支援案例。 在案例詳細資訊中,請務必包含任何相關的日誌檔案、錯誤訊息或命令輸出。

透過模擬錯誤來驗證恢復

  1. 列出您的部署。

    oc get deploy -o wide
    

    輸出範例

    NAME               READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS     IMAGES     SELECTOR
    cos-csi-test-app   1/1     1            1           7h24m   app-frontend   rabbitmq   app=cos-csi-test-app
    
  2. 列出您的應用程式 Pod。

    oc get pods -o wide
    

    輸出範例

    NAME                                READY   STATUS    RESTARTS   AGE     IP             NODE           NOMINATED NODE   READINESS GATES
    cos-csi-test-app-6b99bd8bf4-5lt7p   1/1     Running   0          7h24m   172.30.69.21   10.73.114.86   <none>           <none>
    
  3. 列出 ibm-object-csi-operator 命名空間中的 pod。

    oc get pods -n ibm-object-csi-operator -o wide
    
    NAME                                                          READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
    ibm-object-csi-controller-d64df8f57-l6grj                     3/3     Running   0          7h31m   172.30.69.19    10.73.114.86   <none>           <none>
    ibm-object-csi-node-6d4x4                                     3/3     Running   0          7h31m   172.30.64.24    10.48.3.149    <none>           <none>
    ibm-object-csi-node-gg5pj                                     3/3     Running   0          7h31m   172.30.116.13   10.93.120.14   <none>           <none>
    ibm-object-csi-node-vk8jf                                     3/3     Running   0          7h31m   172.30.69.20    10.73.114.86   <none>           <none>
    ibm-object-csi-operator-controller-manager-8544d4f798-llbf8   1/1     Running   0          7h37m   172.30.69.18    10.73.114.86   <none>           <none>
    
  4. 刪除 ibm-object-csi-operator 命名空間中的 ibm-object-csi-node-xxx pod。

    oc delete pod ibm-object-csi-node-vk8jf -n ibm-object-csi-operator
    

    輸出範例

    pod "ibm-object-csi-node-vk8jf" deleted
    
  5. 列出 ibm-object-csi-operator 命名空間中的 pod。

    oc get pods -n ibm-object-csi-operator -o wide
    

    輸出範例

    NAME                                                          READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
    ibm-object-csi-controller-d64df8f57-l6grj                     3/3     Running   0          7h37m   172.30.69.19    10.73.114.86   <none>           <none>
    ibm-object-csi-node-6d4x4                                     3/3     Running   0          7h37m   172.30.64.24    10.48.3.149    <none>           <none>
    ibm-object-csi-node-gg5pj                                     3/3     Running   0          7h37m   172.30.116.13   10.93.120.14   <none>           <none>
    ibm-object-csi-node-kmn94                                     3/3     Running   0          8s      172.30.69.23    10.73.114.86   <none>           <none>
    ibm-object-csi-operator-controller-manager-8544d4f798-llbf8   1/1     Running   0          7h43m   172.30.69.18    10.73.114.86   <none>           <none>
    
  6. 取得 ibm-object-csi-operator-controller-manager 的日誌以追蹤應用程式 Pod 恢復。 請注意,Operator 會刪除應用程式的 Pod,以便重新啟動它們。

    2024-07-10T17:25:39Z	INFO	recoverstalevolume_controller	Time to complete	{"fetchVolumeStatsFromNodeServerPodLogs": 0.066584637}
    2024-07-10T17:25:39Z	INFO	recoverstalevolume_controller	Volume Stats from NodeServer Pod Logs	{"Request.Namespace": "default", "Request.Name": "recoverstalevolume-sample", "volume-stas": {"pvc-9d12a2f5-09a9-4eb4-b1f5-2a727249ed2b":"transport endpoint is not connected "}}
    2024-07-10T17:25:39Z	INFO	recoverstalevolume_controller	Stale Volume Found	{"Request.Namespace": "default", "Request.Name": "recoverstalevolume-sample", "volume": "pvc-9d12a2f5-09a9-4eb4-b1f5-2a727249ed2b"}
    2024-07-10T17:25:39Z	INFO	recoverstalevolume_controller	Pod using stale volume	{"Request.Namespace": "default", "Request.Name": "recoverstalevolume-sample", "volume-name": "pvc-9d12a2f5-09a9-4eb4-b1f5-2a727249ed2b", "pod-name": "cos-csi-test-app-6b99bd8bf4-5lt7p"}
    2024-07-10T17:25:39Z	INFO	recoverstalevolume_controller	Pod deleted.	{"Request.Namespace": "default", "Request.Name": "recoverstalevolume-sample"}