5.8. Red Hat 지원에 진단 데이터 제공

OpenShift Container Platform 문제를 조사할 때 Red Hat 지원은 지원 케이스에 진단 데이터를 업로드하도록 요청할 수 있습니다. 파일은 Red Hat 고객 포털을 통해 지원 케이스에 업로드하거나 redhat-support-tool 명령을 사용하여 OpenShift Container Platform 클러스터에서 직접 업로드할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • 호스트에 대한 SSH 액세스 권한이 있어야 합니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Red Hat 표준 또는 프리미엄 서브스크립션이 있습니다.
  • Red Hat 고객 포털 계정이 있어야 합니다.
  • 기존 Red Hat 지원 케이스 ID가 있습니다.

프로세스

  • Red Hat 고객 포털을 통해 기존 Red Hat 지원 케이스에 진단 데이터를 업로드합니다.

    1. oc debug node/<node_name> 명령을 사용하여 OpenShift Container Platform 노드에 포함된 진단 파일을 연결하고 출력을 파일로 리디렉션합니다. 다음 예에서는 /host/var/tmp/my-diagnostic-data.tar.gz를 디버그 컨테이너에서 /var/tmp/my-diagnostic-data.tar.gz로 복사합니다.

      $ oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/my-diagnostic-data.tar.gz' > /var/tmp/my-diagnostic-data.tar.gz 1
      1
      디버그 컨테이너는 /host에 호스트의 root 디렉토리를 마운트합니다. 연결할 대상 파일을 지정할 때 /host를 포함하여 디버그 컨테이너의 root 디렉토리에서 절대 경로를 참조합니다.
      참고

      Red Hat Enterprise Linux CoreOS (RHCOS)를 실행하는 OpenShift Container Platform 4.6 클러스터 노드는 변경할 수 없으며 Operator를 통해 클러스터 변경 사항을 적용합니다. scp를 사용하여 클러스터 노드에서 파일을 전송하는 것은 권장되지 않으며 노드는 accessed 테이트로 표시됩니다. 그러나 OpenShift Container Platform API를 사용할 수 없거나 kubelet이 대상 노드에서 제대로 작동하지 않는 경우 oc 작업이 영향을 받습니다. 이러한 상황에서 scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>를 실행하여 노드에서 진단 파일을 복사할 수 있습니다.

    2. https://access.redhat.com/support/cases/ 내에서 기존 지원 케이스로 이동합니다.
    3. Attach files를 선택하고 메시지에 따라 파일을 업로드합니다.
  • OpenShift Container Platform 클러스터에서 직접 기존 Red Hat 지원 케이스에 진단 데이터를 업로드합니다.

    1. 클러스터 노드 목록을 가져옵니다.

      $ oc get nodes
    2. 대상 노드에서 디버그 세션으로 들어갑니다. 이 단계는 <node_name>-debug라는 디버그 Pod를 인스턴스화합니다.

      $ oc debug node/my-cluster-node
    3. 디버그 쉘 내에서 /host를 root 디렉터리로 설정합니다. 디버그 Pod는 Pod 내의 /host에 호스트의 루트 파일 시스템을 마운트합니다. root 디렉토리를 /host로 변경하면 호스트의 실행 경로에 포함된 바이너리를 실행할 수 있습니다.

      # chroot /host
      참고

      Red Hat Enterprise Linux CoreOS (RHCOS)를 실행하는 OpenShift Container Platform 4.6 클러스터 노드는 변경할 수 없으며 Operator를 통해 클러스터 변경 사항을 적용합니다. SSH를 사용하여 클러스터 노드에 액세스하는 것은 권장되지 않으며 노드는 accessed 테인트로 표시됩니다. 그러나 OpenShift Container Platform API를 사용할 수 없거나 kubelet이 대상 노드에서 제대로 작동하지 않는 경우 oc 작업이 영향을 받습니다. 이러한 상황에서 대신 ssh core @ <node>.<cluster_name>.<base_domain>을 사용하여 노드에 액세스할 수 있습니다.

    4. redhat-support-tool을 실행하는 데 필요한 바이너리가 포함된 toolbox 컨테이너를 시작합니다.

      # toolbox
      참고

      기존 toolbox Pod가 이미 실행 중인 경우 toolbox 명령은 'toolbox-' already exists를 출력합니다. 시도 중…​. podman rm toolbox-에서 실행중인 toolbox 컨테이너를 제거하고 새 toolbox 컨테이너를 생성하여 문제를 방지합니다.

      1. redhat-support-tool을 실행하여 디버그 Pod의 파일을 기존 Red Hat 지원 케이스에 직접 첨부합니다. 이 예에서는 지원 케이스 ID '01234567'과 예제 파일 경로 /host/var/tmp/my-diagnostic-data.tar.gz를 사용합니다.

        # redhat-support-tool addattachment -c 01234567 /host/var/tmp/my-diagnostic-data.tar.gz 1
        1
        toolbox 컨테이너는 /host에 호스트의 root 디렉토리를 마운트합니다. redhat-support-tool 명령에 업로드할 파일을 지정할 때 /host/를 포함하여 toolbox 컨테이너의 root 디렉토리에서 절대 경로를 참조합니다.