Why is the transport endpoint not connected?
Virtual Private Cloud Classic infrastructure
The following steps apply to the IBM Cloud Object Storage plug-in only.
When you create a PVC, you see an error message similar to the following:
Transport endpoint is not connected.
To find the cause of the issue, gather system logs by deploying an inspectnode
pod.
Follow the steps to gather logging information.
-
Create a
debug-pvc.yaml
file and specify theibm.io/debug-level: "info"
andibm.io/curl-debug: "true"
annotations.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
-
Create the
debug-pvc
PVC in your cluster.kubectl create -f debug-pvc.yaml>
-
Redeploy your app and reference the
debug-pvc
. Alternatively, you can use the following sample pod.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
-
Save the following DaemonSet configuration file as
inspectnode-ds.yaml
. After you deploy an app that references the PVC that you created earlier, deploy the DaemonSet when theTransport endpoint is not connected
error occurs to gather the logs.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
-
Create the DaemonSet in your cluster when the
Transport endpoint is not connected
error occurs.kubectl create -f ./inspectnode-ds.yaml
-
Get the name of the
inspectnode
pod.kubectl get pods -n default -l app=ibm-inspectnode -o wide
-
Copy the logs from
inspectnode
pod to your local machine. In the copy command, give your directory a name so that you can identify which node the logs are from. For example,node-one.log
. You might also use the node IP in the directory name, for example:10.XXX.XX.XXX.log
.kubectl cp <inspectnode_pod_name>:/host/var/log ./<node_name>.log
-
Review the
syslog
and thes3fslog
for information about theTransport endpoint
error. Open a support ticket and share the log files that you gathered. -
Delete the
ibm-inspectnode
DaemonSet that you deployed.kubectl delete daemonset ibm-inspectnode
-
If the issue persists, contact support. Open a support case. In the case details, be sure to include any relevant log files, error messages, or command outputs.