Aiden Kim
수강생수
71
수강평수
6
강의평점
5.0
게시글
질문&답변
스프링으로 만든 프로젝트에 적용하고싶은데..
안녕하세요 이경용님,질문 주셔서 감사합니다. Spring 애플리케이션에서 발생되는 애플리케이션 로그를 ELK 스택을 통해 처리하고 싶으신 것으로 생각됩니다.Spring 애플리케이션 로깅을 위해 많이 사용하는 라이브러리는 logback이 있고, 환경에 따라 의존성 추가가 필요할 수 있습니다. (Spring Boot에는 내장되어있는 것으로 알고있습니다.)해당 의존성 사용하려면 설정 파일(예: src/main/resources/logback-spring.xml)을 추가로 생성해야 될 것이고, 우리가 배포한 ELK 모니터링 시스템에서 Spring 로그를 처리하려면 아래와 같은 과정으로 시도해보시면 좋을듯합니다. (Spring 애플리케이션 로그를 서버에 파일로 저장한다는 가정으로 설명드립니다.)다만, 본 강의에서는 ELK 스택을 Kubernetes 환경에 배포하는 것을 중점적으로 다루다보니 Spring 애플리케이션의 로그 처리를 위한 설정 등에 대해 깊게 설명드리기는 어려운 점 양해 부탁드립니다.Spring 애플리케이션 로깅 설정 (로그 파일 경로 등)filebeat ConfigMap의 filebeat.yml 데이터 내용 중 filebeat.inputs 블록 안에 아래와 같이 Spring 애플리케이션 로깅 관련 설정 추가... filebeat.inputs: ... - type: log enabled: true paths: - {Spring 애플리케이션 로그의 경로} ...filebeat DaemonSet의 volumes와 volumeMounts에 아래와 같이 Spring 애플리케이션 로그 경로 추가... spec: containers: ... volumeMounts: ... - name: spring-application-log mountPath: {Spring 애플리케이션 로그의 경로} readOnly: true ... volumes: ... - name: spring-application-log hostPath: path: {Spring 애플리케이션 로그의 경로} ...filebeat DaemonSet 재시작 그리고 말씀해주신 Persistent Queue(PQ)는 Logstash의 예상치못한 종료로 인한 데이터 유실을 막기 위해 유입되는 데이터를 파일로 임시 저장하는 방법이고, Logstash 설정 변경이 추가로 필요하지만 좋은 주제라고 생각합니다.아래 공식문서를 참고하여 Logstash의 PQ 설정이 가능한데요.https://www.elastic.co/docs/reference/logstash/persistent-queues#configuring-persistent-queues해당 설정은 본 강의에서 다루지 않은 Logstash 설정 파일(본 강의에서 사용하는 Logstash Docker 이미지 기준 /usr/share/logstash/config/logstash.yml) 내에서 정의하고, PQ를 위한 PVC 역시 Kubernetes 클러스터(minikube)에 추가로 정의해야 합니다.즉, 아래와 같은 과정으로 PQ 설정을 해볼 수 있겠습니다.Logstash PQ를 위한 PersistentVolumeClaim 생성 (예: logstash-pq-pvc)Logstash ConfigMap에 아래와 같이 logstash.yml 데이터를 추가하여 PQ 관련 설정 ... data: ... logstash.yml: |- queue.type: persisted path.queue: /usr/share/logstash/data/queue ...Logstash Deployment에 PQ를 위한 PVC 연동 및 ConfigMap으로부터 logstash.yml 데이터를 가져오는 volumes 및 volumeMounts 설정을 아래와 같이 추가 ... spec: containers: ... volumeMounts: ... - name: logstash-config mountPath: /usr/share/logstash/config/logstash.yml subPath: logstash.yml - name: logstash-pq-storage mountPath: /usr/share/logstash/data/queue ... volumes: ... - name: logstash-config configMap: name: logstash-config items: - key: logstash.yml path: logstash.yml - name: logstash-pq-storage persistentVolumeClaim: claimName: logstash-pq-pvcLogstash Deployment 재시작참고로, PQ 설정을 위해 Logstash Deployment가 PVC를 사용하게 되면 그 Replica 수는 1이어야 합니다.여러 개의 Logstash Pod가 하나의 PV를 동시에 같이 사용할 수 없기 때문입니다.만약 PQ를 설정한 Logstash 인스턴스가 여러 개여야 한다면, Logstash를 Deployment가 아닌 StatefulSet으로 배포해야 할 것입니다. (Elasticsearch가 StatefulSet으로 배포되고 volumeClaimTemplates 설정을 하는 것도 이런 가용성을 대비하기 위함입니다.) 추후 기회가 되어 위 내용을 본 강의에서 정리하게 되면 공유드리겠습니다.감사합니다.
- 1
- 2
- 41
질문&답변
매니패스트 파일
안녕하세요 김정현님,질문 주셔서 감사합니다. 말씀해주신 ELK 스택 배포를 위한 매니페스트 파일들은 실습 파트를 진행하면서 직접 작성할 수 있게 강의를 구성했기 때문에 따로 제공해드리고 있지 않습니다. 그래서 섹션 5. (실습) ELK 스택 각 툴의 k8s Manifest 파일 작성 및 배포와 섹션 6. (실습) 기본적인 Logstash 및 Kibana 활용 내 강의 내용으로 각 해당하는 매니페스트 파일을 확인하실 수 있습니다. 본 강의를 수강하시면서 ELK 스택 배포에 필요한 설정과 Kubernetes 관련 기본 지식을 효과적으로 학습하실 수 있는 방법을 고민하다가 이와 같은 방식을 가지게 되었는데요. 불편하시더라도 부디 양해 부탁드립니다.😿 감사합니다.
- 0
- 2
- 110
질문&답변
kubectl 버전 관련 문의
안녕하세요 Denia님, kubectl와 minikube 버전 관련하여 질문 주셔서 감사합니다! 만약 minikube을 현재 최신 버전인 v1.34.0으로 설치하셨다면, 해당 minikube로 생성되는 k8s 클러스터의 버전은 v1.31.0일 텐데요. (참고 링크) 해당 Kubernetes 버전은 현재 Denia님 로컬에 설치된 kubectl v1.30.2와 Minor 버전이 1만큼 차이나기 때문에 둘 간의 호환성 이슈가 발생하진 않을 것입니다. (참고 링크) 이는 반대로 kubectl의 최신 버전인 v1.32.0을 설치해서 minikube 최신 버전과 함께 사용하더라도 마찬가지입니다. 혹시 몰라 저도 방금 kubectl v1.30.2와 minikube v1.34.0 (즉, k8s v1.31) 조건에서 실습 배포 테스트를 했었는데 정상 동작함을 확인했습니다.😊 그러니 현재 설치된 kubectl v1.30.2을 사용하셔도 무방합니다. (물론 최신 kubectl와 최신 minikube를 같이 사용하는 것이 좋지만요!) 본 강의의 실습은 k8s에서 자주 사용되는 기본적인 기능을 위주로 활용하도록 구성했기 때문에 k8s 버전에 영향을 덜 받을 것이지만, 저도 수강생분들의 실습에 문제가 생기진 않도록 minikube 및 k8s 버전을 모니터링하고 혹시 문제가 있으면 답변 및 공지로 업데이트 드리겠습니다. 감사합니다.
- 1
- 1
- 138
질문&답변
[2.2 minikube 소개] 강의 아래에 있는 수업 노트 링크 오류 제보
안녕하세요 Denia님, 강의 노트 관련하여 불편 드려서 죄송합니다!해당 내용 확인 후 수정하여 현재는 수업 노트 내 링크가 minikube 설치 안내 페이지로 정상 연결된 상태입니다.제보해주셔서 감사합니다! 그리고 강의 잘 보고계시다니 기쁩니다😊
- 1
- 1
- 80
질문&답변
수업 노트를 다운로드 받으려고 하는데 어디에 있나요
안녕하세요 박문석님,질문 주셔서 감사합니다.강의 수업 노트는 해당하는 강의 영상 페이지 하단의 수업 노트 보기 버튼을 눌러 확인하실 수 있습니다.예를 들어 말씀해주신 Sample App의 메니페스트가 업로드된 Github 링크는 '6.1 로그 테스트용 데모 앱 소개 및 배포' 강의 영상 페이지에서 아래 사진처럼 확인 가능합니다.(사진) 강의 영상 페이지 크기에 따라 수업 노트 내용이 아래처럼 영상 하단에 바로 표시되기도 하니 참고 부탁드려요.(사진)감사합니다😊
- 0
- 1
- 135




