Pourquoi le noeud final de transport n'est-il pas connecté ?

Résoudre les problèmes liés à la couche de transport et aux points de terminaison Cloud Object Storage.

Cloud privé virtuel Infrastructure classique

Les étapes suivantes s'appliquent uniquement au plug-in IBM Cloud Object Storage.

Lorsque vous créez une réservation de volume persistant (PVC), un message d'erreur similaire à celui présenté ci-dessous s'affiche :

Transport endpoint is not connected.

Pour rechercher la cause de l'incident, collectez des journaux système en déployant une podinspectnode.

Procédez comme suit pour collecter des informations de journalisation.

  1. Créez un fichier debug-pvc.yaml et spécifiez les annotations ibm.io/debug-level: "info" et 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. Créez la réservation de volume persistant debug-pvc dans votre cluster.

    oc create -f debug-pvc.yaml
    
  3. Redéployez votre application et référencez la réservation de volume persistant debug-pvc. Sinon, vous pouvez aussi utiliser l'exemple de pod suivant.

    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. Sauvegardez le fichier de configuration daemonset suivant sous inspectnode-ds.yaml. Une fois que vous avez déployé une application qui fait référence au PVC que vous avez créé précédemment, déployez le démon DaemonSet lorsque l'erreur Transport endpoint is not connected se produit pour rassembler les journaux.

    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. Créez l'ensemble de données dans votre cluster lorsque l'erreur Transport endpoint is not connected se produit.

    oc create -f ./inspectnode-ds.yaml
    
  6. Obtenez le nom de votre pod inspectnode.

    oc get pods -n default -l app=ibm-inspectnode -o wide
    
  7. Copiez les journaux du pod inspectnode sur votre machine locale. Dans la commande de copie, donnez un nom à votre répertoire afin de pouvoir identifier le noeud dont sont issus les journaux. Par exemple, node-one.log. Vous pouvez également utiliser l'adresse IP de noeud dans le nom du répertoire, par exemple, 10.XXX.XX.XXX.log.

    oc cp <inspectnode_pod_name>:/host/var/log  ./<node_name>.log
    
  8. Consultez les fichiers s3fslog et syslog pour obtenir des informations sur l'erreur Transport endpoint. Ouvrez un ticket de demande de service et partagez les fichiers journaux que vous avez collectés.

  9. Supprimez l'objet Daemonset ibm-inspectnode que vous avez déployé.

    oc delete daemonset ibm-inspectnode
    
  10. Si le problème persiste, contactez l'assistance. Ouverture d'un cas de support. Dans les détails de l'affaire, veillez à inclure tout fichier journal, message d'erreur ou résultat de commande pertinent.