다음을 통해 공유


Kubernetes 지원 자체 호스팅 통합 런타임 문제 해결

이 문서에서는 Linux용 Kubernetes 기반의 새 자체 호스팅 통합 런타임 문제 해결에 대한 세부 정보를 설명합니다.

아래 오류 가이드에 표시되는 오류를 조회할 수 있습니다. SHIR 문제에 대한 지원 및 문제 해결 지침을 얻으려면 로그 업로드 ID를 생성하고 Microsoft 지원에 문의해야 할 수 있습니다.

Kubernetes 자체 호스팅 통합 런타임 로그 수집

Microsoft 지원 대한 로그 업로드 ID를 생성하려면 다음을 수행합니다.

  1. 검사에 실패 상태 표시되면 IRCTL 도구가 설치된 VM 또는 컴퓨터로 이동합니다.
  2. ./irctl log upload 명령을 사용합니다.
  3. 로그가 업로드되면 인쇄된 로그 업로드 ID의 레코드를 유지합니다.
  4. 자체 호스팅 통합 런타임을 등록하지 못하는 경우 아래 가이드를 사용하여 로컬로 로그를 다운로드하고 Microsoft 지원 서비스에 보냅니다.

자체 호스팅 통합 런타임 로그를 수집하고 실행 로그를 검사하여 SHIR 문제를 해결하려면 명령을 사용합니다 ./irctl log download.

예시:

./irctl log download --destination "C:\Users\user\logs\"

로그는 대상 경로에 다운로드됩니다.

참고

로그는 14일 동안 예약됩니다. Microsoft에 업로드하거나 로컬 컴퓨터에 다운로드하여 유지하세요.

Kubernetes에 대한 IRCTL 연결 오류

Kubernetes 관리자로부터 Kubernetes 컨텍스트 구성을 가져올 수 있으며 다음 오류 메시지 중 하나로 등록이 실패할 수 있습니다.

  • Error: invalid flag context [] .kube/config: no such file or directory
  • [Warning] Failed to create kube client with context [] with error

원인

자체 호스팅 통합 런타임을 설치할 때 올바른 Kubernetes 구성과 안정적인 연결이 필요합니다.

해결 방법

  1. Kubernetes 컨텍스트 파일이 올바른 경로에 있는지 확인합니다.
  2. IRCTL 컴퓨터가 Kubernetes 클러스터 API 서버에 연결할 수 있는지 확인합니다.

IRCTL 권한 오류

연결할 때 다음 오류 메시지를 볼 수 있습니다.

  • [Error] Failed to list namespaces to get Running SHIR
  • [Error] Failed to get configmap/ create job/ etc.

원인

자체 호스팅 통합 런타임을 설치할 때 여러 Kubernetes 리소스에 대한 충분한 권한이 필요합니다.

해결 방법

관리 역할을 사용하여 Kubernetes service-account-token을 다시 생성합니다.

Microsoft Purview 서비스 엔드포인트에 대한 IRCTL 연결 오류

Kubernetes 지원 자체 호스팅 통합 런타임을 등록하려고 하면 IRCTL create 명령이 다음 오류를 반환할 수 있습니다.

  • [Error] Failed to register SHIR with error: Post “https://[REGION].compute.governance.azure.com/purviewAccounts/[]/integrationruntimes/[]/registerselfhostedintegrationruntime: []”

원인

IRCTL은 서비스 백 엔드에 연결할 수 없습니다. 이러한 문제는 일반적으로 네트워크 설정 또는 방화벽으로 인해 발생합니다.

해결 방법

IRCTL 호스트 컴퓨터의 네트워크 토폴로지를 검토합니다. 방화벽, DNSServer, SSL 인증서 트러스트 및 http 프록시와 같은 일반 통합 런타임 문제 해결 페이지의 다음 섹션을 참조하세요.

등록 키에 권한이 없습니다.

Kubernetes 지원 자체 호스팅 통합 런타임을 등록하려고 하면 IRCTL create 명령이 다음 오류를 반환할 수 있습니다.

  • [Error] failed to register SHIR with error: Request is not authorized.

원인

만료되었거나 수동으로 해지되었습니다.

해결 방법

Microsoft Purview 포털의 통합 런타임 페이지에서 키를 다시 생성하고 다시 등록합니다.

Kubernetes 자체 호스팅 IR 만들기 시간 초과 오류

Kubernetes 지원 자체 호스팅 통합 런타임을 등록하려고 하면 IRCTL create 명령이 최종적으로 시간 초과될 때까지 오래 실행될 수 있습니다.

생성 시간이 초과된 후 명령줄의 스크린샷

명령에서 언급한 네임스페이스 아래에서 Pod의 상태 확인하는 것으로 irctl describe 시작할 수 있습니다.

예시:

./irctl describe 

K8s SHIR Name:shir-demo 
Purview AccountName:   shirdemopurview 
Installation ID:       00000000-0000-0000-0000-000000000000 
Kubernetes Namespace:  shirdemopurview-shir-demo, compute-fleet-system(control-plane) 
K8s SHIR Version:      Unknown (Installation not completed) 
Status:                Initializing 
Healthiness:           Unhealthy

kubectl get pods --namespace shirdemopurview-shir-demo

NAME                                       READY   STATUS    RESTARTS   AGE 
batch-defaultspec-4pbwx                    0/1     Pending   0          10m 
batch-defaultspec-7t9bl                    0/1     Pending   0          10m 
dynamic-config-provider-778c686fdc-9mkjb   0/1     Pending   0          10m 
interactive-schemaprocess-bcrmf            0/1     Pending   0          10m 
interactive-schemaprocess-fn66x            0/1     Pending   0          10m 
logagent-ds-84jqn                          0/1     Pending   0          10m 
logagent-ds-k7vw8                          0/1     Pending   0          10m 
user-credential-proxy-579c899b64-d4q5v     0/1     Pending   0          10m 

아래에 나열된 몇 가지 잠재적인 원인이 있습니다.

원인 - Microsoft Purview 서비스 엔드포인트와의 연결

Kubernetes는 MCR(mcr.microsoft.com)에 연결할 수 없습니다. 이 오류는 일반적으로 네트워크 설정 또는 방화벽으로 인해 발생합니다.

상태 'ImagePullBackOff'로 표시되는 경우 Kubernetes가 MCR(mcr.microsoft.com)에 연결하여 Pod 이미지를 다운로드할 수 없음을 의미합니다. 이 오류는 일반적으로 네트워크 설정 또는 방화벽으로 인해 발생합니다.

ImagePullBackOff 상태 보여 주는 명령줄의 스크린샷.

해결 방법 - Microsoft Purview 서비스 엔드포인트와의 연결

Kubernetes 클러스터에 대한 네트워크 토폴로지를 검토합니다. 예를 들어 Azure Kubernetes의 경우 다음을 검사 합니다.

참고

필요한 문제 해결 단계는 Kubernetes 공급자마다 다릅니다. 배포 위치와 개별 네트워크 세부 정보는 네트워크마다 다릅니다. organization 네트워크를 통해 연결을 검토해야 합니다.

IRCTL 호스트 컴퓨터의 네트워크 토폴로지를 검토합니다. 방화벽, DNSServer, SSL 인증서 트러스트 및 http 프록시와 같은 일반 통합 런타임 문제 해결 페이지의 다음 섹션을 참조하세요.

원인 - Kubernetes 노드 구성 오류

일부 Pod의 상태 '보류 중'에 있는 경우 Pod 설명 명령을 사용하여 Pod의 세부 정보를 확인합니다.

예시:

kubectl describe pod batch-defaultspec-4pbwx  --namespace shirdemopurview-shir-demo

Events: 
  Type     Reason            Age                From               Message 

  ----     ------            ----               ----               ------- 

  Warning  FailedScheduling  13m                default-scheduler  0/5 nodes are available: 1 Too many pods. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod.. 

describe 명령의 이벤트는 Pod가 보류 중인 이유를 알 수 있습니다. 자세한 메시지와 함께 FailedScheduling 오류는 총 Pod 수가 노드의 최대 Pod 수를 초과했음을 보여 줍니다. 선택한 노드에 새 Pod를 예약할 수 없습니다.

참고

설명 아래에 이벤트가 표시되지 않으면 명령으로 Pod를 수동으로 kubectl delete pod 삭제하고 새로 만든 이벤트를 추적해 보세요.

해결 방법 - Kubernetes 노드 구성 오류

정상적인 사용률 및 업그레이드 시나리오를 지원하기 위해 kubernetes 통합 런타임에 대해 20개의 Pod 번호를 예약합니다.

Microsoft Purview 서비스 엔드포인트의 Kubernetes 연결 오류

Kubernetes 지원 자체 호스팅 통합 런타임을 등록하려고 하면 IRCTRL create 명령은 시간이 초과될 때까지 오래 실행될 수 있습니다. 또는 성공적으로 설치한 후 자체 호스팅 통합 런타임 상태 Microsoft Purview 포털에서 비정상 또는 오프라인으로 표시됩니다.

다음 명령을 사용하여 로그를 확인합니다. kubectl logs [podName] -n compute-fleet-system

다음 오류 중 하나를 볼 수 있습니다.

  • “TraceMessage”:”HttpRequestFailed”, “Host”: “fleet.[REGION].compute.governance.azure.com”
  • Exception":"System.Net.Http.HttpRequestException: Connection refused fleet.[REGION].compute.governance.azure.com:443
  • System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443

원인

Kubernetes는 서비스 백 엔드에 연결할 수 없습니다. 이 오류는 일반적으로 네트워크 설정 또는 방화벽으로 인해 발생합니다.

해결 방법

Kubernetes 클러스터에 대한 네트워크 토폴로지를 검토합니다. 예를 들어 Azure Kubernetes의 경우 다음을 검사 합니다.

참고

필요한 문제 해결 단계는 Kubernetes 공급자마다 다릅니다. 배포 위치와 개별 네트워크 세부 정보는 네트워크마다 다릅니다. organization 네트워크를 통해 연결을 검토해야 합니다.

IRCTL 호스트 컴퓨터의 네트워크 토폴로지를 검토합니다. 방화벽, DNSServer, SSL 인증서 트러스트 및 http 프록시와 같은 일반 통합 런타임 문제 해결 페이지의 다음 섹션을 참조하세요.

로컬 리소스를 사용할 수 없는 런타임 등록 취소

로컬 자체 호스팅 통합 런타임이 실수로 Kubernetes 클러스터에서 삭제된 경우 명령을 사용하여 irctl delete 삭제할 수 없으며 다른 Kubernetes 클러스터에 설치할 수 없습니다.

원인

자체 호스팅 통합 런타임은 하나의 Kubernetes 클러스터에만 설치할 수 있습니다. 등록되면 등록이 취소되기 전에 다른 클러스터에 설치할 수 없습니다.

해결 방법

  1. 자체 호스팅 통합 로컬 상태 확인합니다. 자체 호스팅 통합 런타임을 실행하지 않는 것을 볼 수 있습니다.

    $./irctl describe
    
  2. Microsoft Purview 포털에서 자체 호스팅 통합 런타임을 확인합니다. 오프라인 상태 표시됩니다. (하지만 토큰 만료에는 1시간의 대기 시간이 있습니다.)

  3. 상태 옆에 있는 설치 등록 취소를 선택하고 작업을 확인합니다.

  4. 등록 취소가 완료되면 상태 등록되지 않음으로 표시됩니다.

  5. 통합 런타임을 선택하고 등록 키를 가져옵니다.

  6. 통합 런타임을 다시 설치합니다.

다음 단계