kubernetes - fluentd

우야·2021년 6월 4일
0

fluentbit - fluentd 사용시 문제 상황 발생

  • fluentd 메모리 사용으로 인해서 죽는 상황이 발생한다
  • 이유는 fluentd에서 container log를 가져오는데...
  • 만약에
    • fluentd가 죽어버리는 상황이 발생하면, container의 log를 처음부터 가져와서 메모리를 많이 쓰게 되면서 죽게된다.
    • 이를 막기 위한 방법으로 가장 쉬운 방법은
      • ReadfromHead : false
        • container log의 tail부터 읽어 오는것으로 container의 log윗부분을 무시하게 된다.
        • 문제는 fluentd가 죽었다가 살아나는동안의 log는 누락되게 된다.
      • DB 사용
        • DB : /var/files/offset
        • 파일 경로를 적어놓으면 sql light db 파일이 생성되며, fluentd가 마지막으로 파일을 읽은 offset이 기록된다.
        • 그렇기 때문에 fluentd가 죽었다 살아나도 이어서 log를 가져와서 필요한 기능을 수행할 수 있다.
        • 대신 필요한설정이 있는데, fluentd는 Daemonset으로 각 노드마다 실행되는것으로 VoumeMount를 해서 file에 쓸수 있게 해야한다.
        • VolumMount시 HostPath를 사용하여, 각 노드의 고정된 path를 사용해야 한다.
        • Daemonset의 경우 NFS나 pvc, pv를 이용하는 방법은 일이 번잡하다.
          • NFS사용시 각 Daemonset에 NFS 경로를 다르게 해야하는데...귀찮음
          • PVC,PV사용시 노드가 추가 되거나하면 pvc, pv를 추가 해야함
profile
Fullstack developer

0개의 댓글