728x90
반응형
SMALL
학습내용
- Lens를 이용한 로깅분석
- 실시간 이벤트 모니터링 실습
학습정리
1. Lens를 이용한 로깅분석
- 이벤트 로그 탐색
- Events 탭을 활용하여 실시간 이벤트 모니터링
- 특정 네임스페이스 이벤트 필터링 및 검색 기능 활용
- 파드 관련 이벤트 분석
- 정상적인 Pod 생성과정에서 발생하는 이벤트 확인
- CrashLoopBackOff, ImagePullBackOff 등 오류 이벤트 분석
2. 실시간 이벤트 모니터링 실습
ElasticSearch로 로그를 저장하는 deployment 설정
yaml 생성
apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch labels: app: elasticsearch spec: replicas: 1 # node 1개 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: elastic/elasticsearch:6.4.0 env: - name: discovery.type value: "single-node" ports: - containerPort: 9200 - containerPort: 9300 --- apiVersion: v1 kind: Service metadata: labels: app: elasticsearch name: elasticsearch-svc namespace: default spec: ports: - name: elasticsearch-rest nodePort: 30920 port: 9200 protocol: TCP targetPort: 9200 - name: elasticsearch-nodecom nodePort: 30930 port: 9300 protocol: TCP targetPort: 9300 selector: app: elasticsearch type: NodePort
실행
kubectl apply -f elasticsearch.yaml minikube service elasticsearch-svc
Kibana deployment 설정
yaml 생성
apiVersion: apps/v1 kind: Deployment metadata: name: kibana labels: app: kibana spec: replicas: 1 selector: matchLabels: app: kibana template: metadata: labels: app: kibana spec: containers: - name: kibana image: elastic/kibana:6.4.0 env: - name: SERVER_NAME value: "kibana.kubenetes.example.com" - name: ELASTICSEARCH_URL value: "http://elasticsearch-svc.default.svc.cluster.local:9200" ports: - containerPort: 5601 --- apiVersion: v1 kind: Service metadata: labels: app: kibana name: kibana-svc namespace: default spec: ports: - nodePort: 30561 port: 5601 protocol: TCP targetPort: 5601 selector: app: kibana type: NodePort
실행
kubectl apply -f kibana.yaml minikube service kibana-svc
Fluentd deployment 설정
luented를 이용하여 쿠버네티스에서 발생한 로그를 ES에 저장합니다.
Fluented는 k8s와 같은 CNCF에서 관리하는 범용 로그 수집 오픈소스 프로젝트입니다.
루비 기반으로 개발되었고 다양한 플러그인을 사용할 수 있습니다.
yaml 생성
apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd namespace: kube-system # 사용자가 직접 실행한 앱 컨테이너와 분리해 관리하기 위해 해당 네임스페이스로 설정 labels: k8s-app: fluentd-logging version: v1 kubernetes.io/cluster-service: "true" spec: selector: matchLabels: k8s-app: fluentd-logging version: v1 template: metadata: labels: k8s-app: fluentd-logging version: v1 kubernetes.io/cluster-service: "true" spec: tolerations: - key: node-role.kubernetes.io/master effect: NoSchedule containers: - name: fluentd image: fluent/fluentd-kubernetes-daemonset:elasticsearch env: - name: FLUENT_ELASTICSEARCH_HOST value: "elasticsearch-svc.default.svc.cluster.local" - name: FLUENT_ELASTICSEARCH_PORT value: "9200" - name: FLUENT_ELASTICSEARCH_SCHEME value: "http" - name: FLUENT_UID value: "0" resources: limits: memory: 200Mi requests: cpu: 100m memory: 200Mi volumeMounts: - name: varlog mountPath: /var/log - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true terminationGracePeriodSeconds: 30 volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers
실행
kubectl apply -f fluentd-kubernetes-daemonset.yaml
728x90
반응형
LIST
'TIL' 카테고리의 다른 글
11_1.ElasticSearch 아키텍처 이해 (0) | 2025.03.06 |
---|---|
10_4.k8s 볼륨, Persistent Volumes, StatefulSets의 이해 및 실습 (0) | 2025.03.03 |
10_3.k8s Service 및 Ingress 컨트롤러 실습 (0) | 2025.03.03 |
10_2.k8s Pod와 Deployment 관리 실습 (1) | 2025.02.27 |
10_1.Kubernetes 개념 및 Minikbue 설치 및 구성 (0) | 2025.02.24 |