반응형
EKS에서 fluentbit를 sidecar로 띄울때와 daemonset으로 띄울때의 설정을 다르게 줘야한다.
sidecar는 pod name을 바로 가져올 수 있지만, daemonset 은 기본적으로 노드 이름을 가져와서 설정을 따로 더 해줘야한다.
[sidecar] fluentbit-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: fluentbit-config
namespace: ns-app
data:
fluent-bit.conf: |
[SERVICE]
Flush 1
Grace 30
Log_Level trace
Daemon off
[INPUT]
Name tail
Log_Level trace
Path /app.log
Tag ${POD_NAME}
Skip_Long_Lines Off
Refresh_Interval 10
Read_from_Head True
DB /app.db
[OUTPUT]
Name cloudwatch_logs
Match *
region ap-northeast-2
log_group_name /app
log_stream_prefix log-
auto_create_group true
log_key log
[FILTER]
Name aws
Match ${POD_NAME}
imds_version v1
[daemonset] fluentbit-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: fluentbit-config
namespace: ns-app
data:
fluent-bit.conf: |
[SERVICE]
Flush 1
Grace 30
Log_Level trace
Daemon off
[INPUT]
Name tail
Log_Level trace
Path /app.log
Tag *
Skip_Long_Lines Off
Refresh_Interval 10
Read_from_Head True
DB /app.db
[OUTPUT]
Name cloudwatch_logs
Match *
region ap-northeast-2
log_group_name /app
log_stream_name ${kubernetes['pod_name']}
log_stream_prefix log-
auto_create_group true
log_key log
[FILTER]
Name aws
Match *
imds_version v1
[FILTER]
Name kubernetes
Match *
Kube_URL https://kubernetes.default.svc:443
deployment는 sidecar나 daemonset이나 차이가 없다.
단, 볼륨 설정은 sidecar는 emptydir 로, daemonset은 hostpath 로 해야한다.
- DaemonSet: 노드 로그를 수집하려면 Pod가 호스트 파일 시스템에 접근해야 하므로 hostpath 를 사용해야 함(emptydir 불가)
- Sidecar: Pod 내부 로그를 수집하기 때문에 emptydir을 공유해서 로그를 전달
반응형
'MSA > 쿠버네티스' 카테고리의 다른 글
| AWS Domain과 EKS Service DNS 간의 요청 응답 속도 비교 (0) | 2025.12.11 |
|---|---|
| [Kubernetes] RBAC 설정 (0) | 2025.12.05 |
| [Kubernetes] HPA 설정 커스터마이징(hpa behavior) (1) | 2025.08.07 |
| [Kubernetes] zookeeper 역할 확인 (0) | 2025.07.21 |
| [Kubernetes] docker hub에 이미지 안올리고 로컬 이미지 사용하는 방법 (0) | 2025.04.25 |