トランスポート・エンドポイントが接続されないのはなぜですか?
Cloud Object Storage のトランスポート層およびエンドポイントに関する問題のトラブルシューティングを行います。
仮想プライベートクラウド クラシック・インフラストラクチャー
以下の手順は、 IBM Cloud Object Storage プラグインにのみ適用されます。
PVC を作成するとき、次のようなエラー・メッセージが表示されます。
Transport endpoint is not connected.
問題の原因を見つけるには、inspectnode ポッドをデプロイしてシステム・ログを収集します。
ロギング情報を収集するためのステップに従います。
-
debug-pvc.yamlファイルを作成し、ibm.io/debug-level: "info"というアノテーションと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 -
クラスター内に
debug-pvcPVC を作成します。oc create -f debug-pvc.yaml -
アプリを再デプロイし、
debug-pvcを参照します。 あるいは、以下のサンプル・ポッドを使用することもできます。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 -
以下のデーモン・セット構成ファイルを
inspectnode-ds.yamlとして保存します。 先ほど作成したPVCを参照するアプリをデプロイした後、Transport endpoint is not connectedというエラーが発生した際に、 DaemonSet をデプロイしてログを収集してください。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 -
Transport endpoint is not connectedエラーが発生した場合に、クラスター内に DaemonSet を作成します。oc create -f ./inspectnode-ds.yaml -
inspectnodeポッドの名前を取得します。oc get pods -n default -l app=ibm-inspectnode -o wide -
inspectnodeポッドからのログをローカル・マシンにコピーします。 コピー・コマンドで、ディレクトリーに名前を付けて、ログの元となるノードを識別できるようにします。 例えば、node-one.logです。 ディレクトリー名にノード IP を使用することもできます (例:10.XXX.XX.XXX.log)。oc cp <inspectnode_pod_name>:/host/var/log ./<node_name>.log -
「
Transport endpoint」エラーに関する情報については、「syslog」および「s3fslog」の各ファイルを確認してください。 サポート・チケットを開き、収集したログ・ファイルを共有します。 -
デプロイした
ibm-inspectnodeデーモン・セットを削除します。oc delete daemonset ibm-inspectnode -
問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログファイル、エラーメッセージ、コマンド出力を必ず含めてください。