¿Por qué el punto final de transporte no está conectado?

Resolución de problemas relacionados con la capa de transporte y los puntos finales de Cloud Object Storage.

Nube privada virtual Infraestructura clásica

Los siguientes pasos sólo se aplican al plug-in IBM Cloud Object Storage.

Cuando crea una PVC, aparece un mensaje de error parecido al siguiente:

Transport endpoint is not connected.

Para encontrar la causa del problema, recopile registros del sistema desplegando un pod de inspectnode.

Siga los pasos para reunir la información de registro.

  1. Cree un archivo debug-pvc.yaml y especifique las anotaciones ibm.io/debug-level: "info" e ibm.io/curl-debug: "true".

    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. Cree la PVC debug-pvc en el clúster.

    oc create -f debug-pvc.yaml
    
  3. Vuelva a desplegar la app y haga referencia a debug-pvc. Como alternativa, puede utilizar el siguiente pod de ejemplo.

    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. Guarde el siguiente archivo de configuración de daemonset como inspectnode-ds.yaml. Una vez que hayas implementado una aplicación que haga referencia al PVC que has creado anteriormente, implementa el servicio DaemonSet cuando se produzca el error Transport endpoint is not connected para recopilar los registros.

    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. Cree el DaemonSet en el clúster cuando se produzca el error Transport endpoint is not connected.

    oc create -f ./inspectnode-ds.yaml
    
  6. Obtenga el nombre del pod inspectnode.

    oc get pods -n default -l app=ibm-inspectnode -o wide
    
  7. Copie los registros del pod inspectnode en la máquina local. En el mandato copy, asigne un nombre al directorio para poder identificar el nodo del que proceden los registros. Por ejemplo, node-one.log. También puede utilizar la IP de nodo en el nombre del directorio, por ejemplo: 10.XXX.XX.XXX.log.

    oc cp <inspectnode_pod_name>:/host/var/log  ./<node_name>.log
    
  8. Consulte los s3fslog archivos y syslog para obtener información sobre el Transport endpoint error. Abra una incidencia de soporte y comparta los archivos de registro que ha recopilado.

  9. Suprima el daemonset ibm-inspectnode que ha desplegado.

    oc delete daemonset ibm-inspectnode
    
  10. Si el problema persiste, póngase en contacto con soporte. Abra un caso de soporte. En los detalles del caso, asegúrese de incluir todos los archivos de registro, mensajes de error o salidas de comandos relevantes.