상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
"애드센스의 중요성: 5가지 이유"
기소유예와 그 결과: 4가지 신념을 세우기
기소유예와 커뮤니케이션: 7가지 팁으로 준비하자
액상과당이 정신 집중에 미치는 영향: 4가지 사실!
액상과당을 피하기 위한 8가지 팁
왜 당신의 에어컨 전기세가 낮지 않은지 4가지 이유!
에어컨 전기세의 비밀, 알아야 할 5가지 포인트!
희토류 자원과 정책: 5가지 대안을 제시합니다!
토끼 없이 살 수 없는 5가지 이유
강박증과 치료: 알고 있어야 할 5가지 방법
강박장애의 진실, 알아야 할 9가지
강박장애, 잘못된 신념의 8가지 표징
Previous
Next
수정하기 - 쿠버네티스에서 EFK(Elasticsearch, Fluentd, Kibana) 스택은 어떻게 구성하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
EFK 스택(Elasticsearch, Fluentd, Kibana)은 Kubernetes 환경에서 로그 수집, 저장 및 시각화를 위한 강력한 솔루션입니다. 이 스택을 구성하는 과정은 여러 단계로 나눌 수 있으며, 각 구성 요소의 역할과 설정 방법을 이해하는 것이 중요합니다. 아래에서는 EFK 스택을 Kubernetes에서 구성하는 방법을 자세히 설명하겠습니다. 1. Elasticsearch 설치Elasticsearch는 로그 데이터를 저장하고 검색하는 데 사용되는 분산 검색 엔진입니다. Kubernetes에서 Elasticsearch를 설치하기 위해 Helm 차트를 사용할 수 있습니다. 1.1 Helm 설치Helm은 Kubernetes의 <a href='https://sangseek.com/sangseeks/패키지 관리/ko'>패키지 관리</a>자입니다. Helm을 설치한 후, Elasticsearch Helm 차트를 추가합니다.```bash Helm 설치 (설치되어 있지 않은 경우)curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash Elasticsearch Helm 차트 저장소 추가helm repo add elastic https://helm.elastic.cohelm <a href='https://sangseek.com/sangseeks/repo update/ko'>repo update</a>``` 1.2 Elasticsearch 배포이제 Elasticsearch를 배포합니다. 기본 설정으로 배포할 수 있지만, 필요에 따라 설정을 조정할 수 있습니다.```bash Elasticsearch 설치helm install elasticsearch elastic/elasticsearch```배포가 완료되면, Elasticsearch 서비스가 생성됩니다. 기본적으로 `http://elasticsearch-master:9200`에서 접근할 수 있습니다. 2. Fluentd 설치Fluentd는 로그 <a href='https://sangseek.com/sangseeks/수집기/ko'>수집기</a>입니다. Kubernetes 클러스터에서 발생하는 로그를 수집하고 Elasticsearch로 전송하는 역할을 합니다. 2.1 Fluentd 배포Fluentd를 배포하기 위해 Kubernetes의 DaemonSet을 사용할 수 있습니다. 이렇게 하면 클러스터의 모든 노드에서 Fluentd가 실행됩니다. Fluentd의 설정 파일을 작성하여 Elasticsearch에 로그를 전송하도록 구성합니다.```yaml fluentd-config.yamlapiVersion: v1kind: ConfigMapmetadata: name: fluentd-configdata: fluent.conf: | <source> @type kubernetes @id input_kubernetes @label @KUBERNETES @log_level info @kube_url https://kubernetes.default.svc:443 @kube_ca_file /var/run/secrets/kubernetes.io/serviceaccount/ca.crt @kube_token_file /var/run/secrets/kubernetes.io/serviceaccount/token @include_namespace your-namespace </source> <match > @type elasticsearch @id output_elasticsearch @log_level info host elasticsearch-master port 9200 logstash_format true include_tag_key true tag_key @log_name index_name fluentd type_name _doc </match>```이제 Fluentd를 DaemonSet으로 배포합니다.```yaml fluentd-daemonset.yamlapiVersion: apps/v1kind: DaemonSetmetadata: name: fluentdspec: selector: matchLabels: name: fluentd <a href='https://sangseek.com/sangseeks/template/ko'>template</a>: metadata: labels: name: fluentd spec: containers: - name: fluentd image: fluent/fluentd-kubernetes-daemonset:v1.12-debian-1.0 env: - name: FLUENT_ELASTICSEARCH_HOST value: "elasticsearch-master" - name: FLUENT_ELASTICSEARCH_PORT value: "9200" volumeMounts: - name: fluentd-config mountPath: /fluentd/etc volumes: - name: fluentd-config configMap: name: fluentd-config```Fluentd DaemonSet을 배포합니다.```bash<a href='https://sangseek.com/sangseeks/kubectl/ko'>kubectl</a> apply -f fluentd-config.yamlkubectl apply -f fluentd-daemonset.yaml``` 3. Kibana 설치Kibana는 Elasticsearch에 저장된 데이터를 시각화하는 도구입니다. Kibana를 설치하여 Elasticsearch와 연결합니다. 3.1 Kibana 배포Kibana도 Helm을 사용하여 설치할 수 있습니다.```bash Kibana 설치helm install kibana elastic/kibana```Kibana가 설치되면, 기본적으로 `http://kibana:5601`에서 접근할 수 있습니다. 필요에 따라 서비스 타입을 <a href='https://sangseek.com/sangseeks/LoadBalancer/ko'>LoadBalancer</a>로 변경하여 외부에서 접근할 수 있도록 설정할 수 있습니다. 4. EFK 스택 테스트EFK 스택이 제대로 작동하는지 확인하기 위해 Kubernetes 클러스터에서 로그를 생성해 보겠습니다. 예를 들어, 간단한 Nginx 애플리케이션을 배포하여 로그를 생성할 수 있습니다.```yaml nginx-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginxspec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80```Nginx 애플리케이션을 배포합니다.```bashkubectl apply -f nginx-deployment.yaml```이제 Nginx에서 발생하는 로그가 Fluentd를 통해 Elasticsearch로 전송되고, Kibana에서 이를 시각화할 수 있습니다. 5. Kibana에서 로그 확인Kibana에 접속하여 Elasticsearch에 저장된 로그를 확인합니다. Kibana의 Discover <a href='https://sangseek.com/sangseeks/탭/ko'>탭</a>에서 Fluentd로 수집된 로그를 검색하고 필터링할 수 있습니다. 결론EFK 스택은 Kubernetes 환경에서 로그 수집과 시각화를 위한 강력한 도구입니다. Elasticsearch, Fluentd, Kibana를 통합하여 로그 데이터를 효율적으로 관리하고 분석할 수 있습니다. 이 가이드를 통해 EFK 스택을 Kubernetes에 배포하고 구성하는 방법을 이해할 수 있었기를 바랍니다. 추가적인 설정이나 최적화는 필요에 따라 진행할 수 있으며, 각 구성 요소의 공식 문서를 참고하는 것이 좋습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기