Kubectl을 사용하여 모든 포드에서 로그를 가져오는 방법

Kubectleul Sayonghayeo Modeun Podeueseo Logeuleul Gajyeooneun Bangbeob



포드는 Kubernetes 클러스터의 더 작은 단위이자 핵심 구성 요소입니다. 이러한 포드는 공유 볼륨과 함께 컨테이너화된 애플리케이션을 캡슐화합니다. 각 포드는 포드 내에서 두 개 이상의 컨테이너를 실행하고 관리할 수 있습니다. Pod는 작업자 노드 내부에 배포되며 각 작업자 노드는 둘 이상의 Pod를 관리할 수 있습니다.

경우에 따라 사용자는 오류, 실패 또는 알 수 없는 상태와 같은 일부 Pod 상태에 직면할 수 있습니다. Pod를 디버그하거나 Pod 내부에서 실행되는 애플리케이션을 모니터링하려면 사용자가 Pod의 로그를 확인해야 할 수 있습니다.

이 게시물에서는 다음을 설명합니다.







단일 Pod의 로그를 가져오는 방법은 무엇입니까?

Pod는 Kubernetes 클러스터에서 별도의 구성 요소로 실행되거나 Kubernetes 배포를 통해 관리 및 작동될 수 있습니다. 배포의 일부가 아닌 별도의 컨테이너화된 애플리케이션을 실행하는 포드의 경우 이러한 포드의 로그는 개별적으로만 확인할 수 있습니다. 단일 Pod의 로그를 확인하려면 아래 단계를 따르세요.



1단계: 포드 가져오기

Kubernetes 포드를 나열하려면 ' kubectl은 포드 가져오기 ' 명령:



kubectl은 포드 가져오기

아래 출력에서 ​​현재 5개의 포드가 실행되고 있는 것을 볼 수 있습니다. 데모포드 ”가 실행 중이고 컨테이너가 하나만 있습니다. 다음 세 개의 포드는 ' HTML 배포 ', 그리고 마지막 ' 웹앱 ” 포드는 두 개의 컨테이너를 실행하고 있습니다.





2단계: 단일 포드의 로그 보기

단일 Pod의 로그를 검색하려면 ' kubectl 로그 <포드 이름> ' 명령:



kubectl 로그 데모 포드

끝에서 포드 로그를 가져오는 방법은 무엇입니까?

일반적으로 로그의 길이는 더 길고 수백 줄을 포함할 수 있습니다. 때때로 사용자는 특정 지점 또는 최대 특정 수의 로그에서 포드를 보고 싶어합니다. 마지막부터 특정 수의 로그를 보려면 아래 명령을 사용하십시오.

kubectl 로그 데모 포드 --꼬리 2

여기서는 “ -꼬리 ” 옵션은 로그를 마지막부터 볼 때 사용됩니다.

포드의 특정 컨테이너 로그를 가져오는 방법은 무엇입니까?

Kubernetes 단일 포드는 하나 이상의 컨테이너를 실행할 수 있습니다. 포드 컨테이너의 로그에 액세스하려면 아래 지침을 따르세요.

1단계: 포드 가져오기

Kubernetes 클러스터의 포드를 나열하려면 ' kubectl은 포드 가져오기 ' 명령:

kubectl은 포드 가져오기

여기서는 “ 웹앱 ”이(가) 둘 이상의 컨테이너를 실행 중입니다.

메모: 경우에 따라 사용자가 Pod에서 실행 중인 컨테이너의 이름을 기억하지 못할 수도 있습니다. Pod 내부의 컨테이너 세부정보를 확인하시려면 '를 통해 Pod를 검사해 보세요. kubectl explain pod <포드 이름> ' 명령:

kubectl은 포드 웹앱을 설명합니다.

2단계: 컨테이너 로그 보기

특정 Pod 컨테이너의 로그를 가져오려면 'kubectllogs -c ' 명령을 사용합니다. 여기서 '-c' 옵션은 컨테이너 이름을 포함하는 데 사용됩니다.

kubectl은 웹앱을 기록합니다. -씨 계속1

포드의 모든 컨테이너 로그를 가져오는 방법은 무엇입니까?

Kubernetes Pod의 모든 컨테이너 로그를 보려면 ' – 모든 컨테이너 ” 가치는 “ 진실 '에서' kubectl 로그 ' 명령:

kubectl은 웹앱을 기록합니다. --모든 컨테이너 = 진실

Kubernetes에서 배포 로그를 얻는 방법은 무엇입니까?

배포는 Pod 내부에서 컨테이너화된 애플리케이션을 실행하는 또 다른 핵심 Kubernetes 리소스입니다. 배포는 복제본의 도움으로 실행 중인 Pod를 관리하고 운영합니다. 배포 로그를 보려면 아래 나열된 단계를 따르세요.

1단계: 모든 Kubernetes 리소스 가져오기

Kubernetes의 모든 리소스를 나열하려면 'kubectl get all' 명령을 사용하십시오.

kubectl은 모두 가져옵니다

여기서는 'html-deployment' 배포에서 세 개의 포드가 실행되는 것을 볼 수 있습니다.

2단계: 배포 로그 보기

Kubernetes 배포 로그를 검색하려면 ' kubectl 로그 배포/<배포 이름> ' 명령:

kubectl 로그 배포 / HTML 배포

출력에는 'html-deployment'에 3개의 Pod가 있고 현재 첫 번째 Pod의 로그만 보고 있는 것으로 표시됩니다.

Kubernetes 배포의 모든 포드에 대한 로그를 얻는 방법은 무엇입니까?

위의 경우에는 모든 배포 Pod의 로그가 표시되지 않습니다. Kubernetes 배포의 모든 Pod 로그를 보려면 먼저 Pod 레이블을 찾으세요. 그런 다음 포드 라벨을 지정하여 모든 포드의 로그에 액세스합니다. 데모를 보려면 아래 지침을 따르세요.

1단계: 포드 가져오기

'kubectl get pods' 명령에서 '–show-label' 옵션을 사용하여 레이블과 함께 Kubernetes Pod에 액세스합니다.

kubectl은 포드 가져오기 --표시 라벨

여기에서 아래 결과는 레이블과 함께 Pod를 보여줍니다. 이러한 Pod는 동일한 배포에서 실행되기 때문에 동일한 레이블을 갖습니다.

2단계: 모든 배포 포드의 로그 보기

이제 pods 레이블을 사용하여 모든 배포 Pod의 로그를 확인하세요. 이를 위해 'kubectllogs -l

kubectl 로그 -엘 =nginx --모든 컨테이너

Pod 로그 실시간 보기

Kubernetes 포드를 실행하는 동안 로그를 실시간으로 보려면 'kubectllogs' 명령과 함께 '-f' 옵션을 사용하십시오.

kubectl 로그 -엘 =nginx -에프

여기서 '-l' 옵션은 Pod 레이블을 지정하는 데 사용되며 '-all-containers' 옵션은 Pod에서 실행되는 모든 컨테이너의 로그를 표시합니다.

kubectl을 사용하여 모든 Pod의 로그를 보는 것이 전부입니다.

결론

Kubernetes에서 사용자는 배포에서 실행 중인 모든 Pod의 로그를 볼 수 있습니다. 단일 Pod의 로그를 검색하려면 “kubectllogs ” 명령을 활용하세요. 특정 Pod 컨테이너의 로그를 검색하려면 'kubectllogs -c ' 명령을 사용합니다. Kubernetes 배포의 모든 Pod 로그를 보려면 'kubectllogs -l ' 명령을 사용하세요. 이 블로그에서는 kubectl을 사용하여 모든 Pod에서 로그를 가져오는 기술을 설명했습니다.