#1.Summary.
유용하게 쓰고 있는 Stern. 아래는 Stern Github에 설명하는 멘트.
What is Stern?
Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod. Each result is color coded for quicker debugging.
The query is a regular expression or a Kubernetes resource in the form <resource>/<name> so the pod name can easily be filtered and you don't need to specify the exact id (for instance omitting the deployment id). If a pod is deleted it gets removed from tail and if a new pod is added it automatically gets tailed.
When a pod contains multiple containers Stern can tail all of them too without having to do this manually for each one. Simply specify the container flag to limit what containers to show. By default all containers are listened to.
간단히 말해, kubernetes에서 실시간으로 pod 로그, 동적 로그를 동시에 모니터링할 수 있게 해주는 로그 스트리밍 도구.
#2.Main.
A.Stern의 주요 기능.
1.실시간 로그 스트리밍: 지정된 네임스페이스 내에서 여러 파드의 로그를 실시간으로 스트리밍하며, 로그가 발생하는 즉시 출력.
2.와일드카드 지원: 파드 이름을 지정할 때 와일드카드를 사용할 수 있어, 동일한 이름을 가진 여러 파드의 로그를 한 번에 확인 가능.
3.컨테이너 선택: 파드 내 여러 컨테이너 중 특정 컨테이너의 로그만 선택해 확인 가능.
4.다양한 출력 형식 지원: 로그에 타임스탬프를 추가하거나 JSON 형식으로 출력 가능.
5.필터링: 특정 로그 메시지 패턴에 맞는 로그만 필터링해서 볼 수 있어, 디버깅에 유리.
B.기본적인 pod 관련 상태 체크 명령어.
대부분 사실상 pod 상태 체크 할 때 사용하는 명령어는 비슷할 것으로 예상.
1.kubectl describe pods ==> pods 설명 확인. ( Crashloopbackoff 등 현재 pod 상태를 정확하게 확인 가능)
2.kubectl get pods -o yaml ==> yaml 설정 확인.
3.kubectl logs pods ==> pod의 log 확인.
4.kubectl describe deployments ==> deploy 라벨 or deploy에 문제가 있는 것들을 확인 가능.
5.kubectl describe svc ==> svc 포트나 라벨 같은 것들을 확인.
6.kubectl describe ingress ==> ingress에서 문제를 확인.
C.Stern 설치.
C-1.Linux (Curl 활용 가능 환경)
1.Stern Binary 다운로드.
curl -Lo stern https://github.com/stern/stern/releases/latest/download/stern_linux_amd64
2.실행 권한을 부여.
chmod +x stern
3.시스템 경로에 바이너리를 이동.
sudo mv stern /usr/local/bin/
4.설치 확인.
stern --version
C-2. macOS (Homebrew 사용)
*Homebrew가 미설치인 상태면 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.brew install stern
사실 설치 방법은 어떠한 OS 환경이냐에 따라, 어떠한 상태인 것에 따라 다 다르기에 Stern을 사용하고자 한다면 조금만 검색해보면 바로 확인 가능.
#3.Conclusion.
비슷한 기능의 Kubetail로 있기는 한데, 사용자의 스타일에 따라 Kubetail이든 Stern이든 설치해서 사용하는 걸 추천.
Command 형태는 stern ~~~~~ 이고 설치만 하면 어렵지 않게 사용 가능.
자세한 Command Option은 Stern Github에 자세하게 설명 되어 있으니, 필요한 상황에 따라 옵션 사용하면 된다.
Stern Github => https://github.com/stern/stern
https://github.com/rancher/stern
'#Container > #Kubenetes' 카테고리의 다른 글
CronHPA (0) | 2024.07.22 |
---|---|
EKS AWS Auth (0) | 2024.05.27 |
Understanding Kubernetes. (0) | 2020.04.23 |