
저는 Kubernetes를 처음 접하고 로그 수집 방법이 여러 가지 있다는 것을 알고 있습니다. 하지만 구체적으로 내 시나리오에 대해 묻고 있습니다. Syslog xyz.com 포트 8090이 있습니다. 이제 포드가 로그를 서버 xyz.com으로 보내길 원합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까? 모든 배포 포드의 로그를 사용자 지정하는 중앙 집중식 방법이 있습니까? 아니면 컨테이너에 rsyslog 서비스를 구성하고 컨테이너를 다시 빌드해야 합니까? 또는 여러분이 제안할 수 있는 모범 사례.
고마워요, 유서프
답변1
인용하다수드히르 차마르티의ITNEXT에 게시된 중형 블로그Kubernetes에서 Rsyslog 서버 실행Syslog 서버에서 로그를 스트리밍하려면 아래 단계를 따르세요.
- 이미지를 빌드하고 Docker 레지스트리에 푸시
- 별도의 네임스페이스 생성
- 영구 저장소 만들기
- Rsyslog 배포 생성
- 배포를 서비스에 노출
- NLB에 서비스 노출
- 테스트 및 확장 수행
당신은 볼 수 있습니다Github 아카이브~에로깅 아키텍처turkubernetes-rsyslog-logging중앙 집중식 로깅 솔루션을 구축하기 위해 kubernetes 구성을 제공합니다. 한눈에 보실 수 있어요존 스타리치의튜토리얼Syslog를 사용한 Kubernetes 로그 전달.
처럼 @종달새댓글에서 언급한,로깅 에이전트와 함께 사이드카 컨테이너 사용널리 사용됩니다. 이는 애플리케이션 독립적이므로 훨씬 더 유연한 솔루션이 되며 2가지 다른 방식으로 구현될 수 있습니다.