IBM Cloud Docs
전송 엔드포인트가 연결되지 않은 이유는 무엇입니까?

전송 엔드포인트가 연결되지 않은 이유는 무엇입니까?

가상 프라이빗 클라우드 클래식 인프라

다음 단계는 IBM Cloud Object Storage 플러그인에만 적용됩니다.

PVC를 작성할 때 다음과 유사한 오류 메시지가 나타납니다.

Transport endpoint is not connected.

문제의 원인을 찾으려면 ' inspectnode 파드를 배포하여 시스템 로그를 수집하세요.

단계에 따라 로깅 정보를 수집하십시오.

  1. 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
    
  2. 클러스터에서 debug-pvc PVC를 작성하십시오.

    oc create -f debug-pvc.yaml>
    
  3. 앱을 다시 배치하고 debug-pvc를 참조하십시오. 또는 다음 샘플 팟(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
    
  4. 다음 디먼 세트 구성 파일을 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
    
  5. Transport endpoint is not connected 오류가 발생하면 클러스터에서 DaemonSet를 작성하십시오.

    oc create -f ./inspectnode-ds.yaml
    
  6. inspectnode 팟(pod)의 이름을 가져오십시오.

    oc get pods -n default -l app=ibm-inspectnode -o wide
    
  7. inspectnode 팟(Pod)의 로그를 로컬 머신에 복사하십시오. 복사 명령에서, 로그가 생성된 노드를 식별할 수 있도록 디렉토리에 이름을 지정하십시오. 예를 들어, node-one.log입니다. 디렉토리 이름에 노드 IP를 사용할 수도 있습니다(예: 10.XXX.XX.XXX.log).

    oc cp <inspectnode_pod_name>:/host/var/log  ./<node_name>.log
    
  8. syslog 오류에 대한 정보는 s3fslogTransport endpoint를 검토하십시오. 지원 티켓을 열고 수집한 로그 파일을 공유하십시오.

  9. 배치한 ibm-inspectnode 디먼 세트를 삭제하십시오.

    oc delete daemonset ibm-inspectnode
    
  10. 문제가 계속되면 지원에 문의하십시오. 지원 케이스 열기 케이스 세부 정보에 관련 로그 파일, 오류 메시지 또는 명령 출력을 모두 포함해야 합니다.