EFK 설치 시 주의사항
- EKS 안에 최신 EFK를 설치하려고 하는데, 쓸만한 example 혹은 guide를 찾기가 힘듭니다. 그래서 간단하게 주의할 점을 적어둡니다.
먼저 architecture를 알아둘 필요가 있습니다.
architecture에 나온 것처럼 elasticsearch는 log들을 모아둘 저장소 pvc가 필요합니다. 따라서 eks의 ebs를 자동으로 생성하기 위해 ebs-csi-driver addon을 설치해야 합니다. (efs -> efs-csi-driver) ebs-csi-driver는 eks에서 addon을 통해 간단하게 설치할 수는 있지만, service account에 IAM 권한을 별도로 부여하는 작업은 직접 진행하셔야 합니다.
시각화 tool인 kibana를 외부로 노출시켜야 하므로 aws-load-balancer-controller addon 또한 설치하셔야 합니다. 이는 terraform으로 코드를 작성하시면 IAM 권한 부여 및 helm을 통한 배포까지 간편하게 수행하실 수 있습니다.
설치하는 과정에서 elasticsearch의 replicas 수를 node 수에 맞게 조절하지 않으면, pod에서 MasterNotDiscoveredException 오류가 뜹니다. 참고 자료를 확인했을 때는, elasticsearch가 돌아가는 master node들이 하나의 노드(서버)에 있는 경우, docker port binding으로 외부 포트를 다르게 지정했기 때문이라고 합니다.
fluentd를 설치할 때 endpoint에 https://를 붙이면 안됩니다. 붙이고 fluentd를 설치할 경우 pod는 정상적으로 running 상태가 되지만, log에는 권한이 없다는 error가 뜹니다.
참고