Warum ist der Transportendpunkt nicht verbunden?

Beheben Sie Probleme mit der Transportschicht und den Endpunkten v Cloud Object Storage.

Virtuelle Private Cloud Klassische Infrastruktur

Die folgenden Schritte gelten nur für das Plug-in IBM Cloud Object Storage.

Wenn Sie einen PVC erstellen, wird eine Fehlernachricht ähnlich der folgenden angezeigt:

Transport endpoint is not connected.

Um die Ursache des Problems zu finden, stellen Sie Systemprotokolle zusammen, indem Sie einen inspectnode-Pod bereitstellen.

Stellen Sie wie im Folgenden beschrieben Protokollinformationen zusammen.

  1. Erstellen Sie eine Datei debug-pvc.yaml und geben Sie die ibm.io/debug-level: "info" und die ibm.io/curl-debug: "true"-Annotationen an.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
       annotations:
         ibm.io/auto-create-bucket: "false"
         ibm.io/auto-delete-bucket: "false"
         ibm.io/bucket: <bucket-name> # Enter the name of your bucket.
         ibm.io/secret-name: <cos-secret-name> # Enter the name of your Kubernetes secret that contains your COS credentails
         ibm.io/debug-level: "info"
         ibm.io/curl-debug: "true"
       name: debug-pvc
       namespace: default
    spec:
      storageClassName: ibmc-s3fs-standard-perf-regional
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
    
  2. Erstellen Sie den PVC debug-pvc in Ihrem Cluster.

    oc create -f debug-pvc.yaml
    
  3. Implementieren Sie Ihre App erneut und beziehen Sie sich auf den debug-pvc. Sie können stattdessen auch den folgenden Beispielpod verwenden.

    apiVersion: v1
    kind: Pod
    metadata:
      name: debug-pod
    spec:
      volumes:
      - name: nginx
        persistentVolumeClaim:
            claimName: cos-debug
      containers:
      - name: nginx
        image: nginx
        volumeMounts:
        - mountPath: /debug
          name: nginx
    
  4. Speichern Sie die folgende Konfigurationsdatei der Dämongruppe als Datei inspectnode-ds.yaml. Nachdem Sie eine App bereitgestellt haben, die auf den PVC verweist, den Sie zuvor erstellt haben, stellen Sie das DaemonSet bereit, wenn der Fehler Transport endpoint is not connected auftritt, um die Protokolle zu erfassen.

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
        namespace: default
        name: ibm-inspectnode
        labels:
          app: ibm-inspectnode
    spec:
        selector:
          matchLabels:
              app: ibm-inspectnode
        updateStrategy:
          type: RollingUpdate
        template:
          metadata:
              labels:
                app: ibm-inspectnode
          spec:
              tolerations:
              - operator: "Exists"
              hostNetwork: true
              containers:
                - name: inspectnode
                  image: alpine:latest
                  command: ["/bin/sh"]
                  args: ["-c", "while true; do msg=$(date); echo $msg; sleep 30; done"]
                  securityContext:
                      runAsUser: 0
                  volumeMounts:
                    - mountPath: /host/var/log
                      name: host-log
              volumes:
                - name: host-log
                  hostPath:
                    path: /var/log
    
  5. Erstellen Sie das DaemonSet in Ihrem Cluster, wenn der Fehler Transport endpoint is not connected auftritt.

    oc create -f ./inspectnode-ds.yaml
    
  6. Ermitteln Sie den Namen des inspectnode-Pods.

    oc get pods -n default -l app=ibm-inspectnode -o wide
    
  7. Kopieren Sie die Protokolle aus dem Pod inspectnode auf Ihre lokale Maschine. Ordnen Sie Ihrem Verzeichnis im Kopierbefehl einen Namen zu, aus dem hervorgeht, von welchem Knoten die Protokolle stammen. Beispiel: node-one.log. Sie können auch die Knoten-IP im Verzeichnisnamen angeben, z. B. 10.XXX.XX.XXX.log.

    oc cp <inspectnode_pod_name>:/host/var/log  ./<node_name>.log
    
  8. Lesen Sie die Dateien s3fslog und syslog durch, um Informationen zum Fehler Transport endpoint zu erhalten. Öffnen Sie ein Support Ticket und fügen Sie die von Ihnen gesammelten Protokolldateien bei.

  9. Löschen Sie die Dämongruppe ibm-inspectnode, die Sie bereitgestellt haben.

    oc delete daemonset ibm-inspectnode
    
  10. Wenn das Problem weiterhin auftritt, wenden Sie sich bitte an den Support. Öffnen Sie einen Supportfall. Fügen Sie den Falldetails unbedingt alle relevanten Protokolldateien, Fehlermeldungen oder Befehlsausgaben bei.