Perché l'endpoint di trasporto non è connesso?
Risolvere i problemi relativi al livello di trasporto e agli endpoint di " Cloud Object Storage ".
Virtual Private Cloud Infrastruttura classica
I passi seguenti si applicano solo al plug-in IBM Cloud Object Storage.
Quando si crea un PVC, viene visualizzato un messaggio di errore simile al seguente:
Transport endpoint is not connected.
Per trovare la causa del problema, raccogliere i log di sistema distribuendo un pod inspectnode.
Seguire i passi per raccogliere le informazioni di registrazione.
-
Creare un file
debug-pvc.yamle specificare le annotazioniibm.io/debug-level: "info"eibm.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 -
Crea il PVC "
debug-pvc" nel tuo cluster.oc create -f debug-pvc.yaml -
Ridistribuisci la tua applicazione e fai riferimento a
debug-pvc. In alternativa, puoi utilizzare il seguente pod di esempio.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 -
Salvare il file di configurazione DaemonSet come
inspectnode-ds.yaml. Dopo aver distribuito un'applicazione che fa riferimento alla PVC che hai creato in precedenza, distribuisci DaemonSet quando si verifica l'erroreTransport endpoint is not connectedper raccogliere i log.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 -
Creare il DaemonSet nel cluster quando si verifica l'errore
Transport endpoint is not connected.oc create -f ./inspectnode-ds.yaml -
Ottieni il nome del pod
inspectnode.oc get pods -n default -l app=ibm-inspectnode -o wide -
Copia i log dal pod
inspectnodealla tua macchina locale. Nel comando copy, fornisci un nome alla tua directory in modo da poter identificare da quale nodo provengono i log. Ad esempio,node-one.log. È inoltre possibile utilizzare l'IP del nodo nel nome della directory, ad esempio:10.XXX.XX.XXX.log.oc cp <inspectnode_pod_name>:/host/var/log ./<node_name>.log -
Rivedere i file
sysloges3fslogper informazioni sull'erroreTransport endpoint. Aprire un ticket di assistenza e condividere i file di log raccolti. -
Eliminare il
ibm-inspectnodeDaemonSet distribuito.oc delete daemonset ibm-inspectnode -
Se il problema persiste, contattare il supporto. Apri un caso di supporto. Nei dettagli del caso, assicurarsi di includere qualsiasi file di registro, messaggio di errore o output di comando pertinente.