Menu 102

Kafka CLI 정리

Kafka CLI 정리topic 리스트 확인하기kafka-topics.sh --bootstrap-server 0.0.0.0:9092 --listtopic 생성하기kafka-topics.sh --create --topic --bootstrap-server 0.0.0.0:9092topic 확인하기kafka-topics.sh --describe --topic --bootstrap-server 0.0.0.0:9092topic에서 이벤트 읽기kafka-console-consumer.sh --topic --bootstrap-server 0.0.0.0:9092 --from-beginningtopic에 이벤트 쓰기키 없이 전송kafka-console-producer.sh --topic --bootstrap-se..

Kafka 기본 개념

Kafka 기본 개념주요 기능pub-sub model을 지원하며 분산 메세지 큐이다.기본 적으로 클러스터를 구성한다.Topic을 중심으로 producer라고 하는 publisher, consumer(group)이라고 하는 subscriber로 데이터를 관리하고 처리한다.하나의 Topic은 복수 개의 partition으로 확장 가능하다.Kafka 해결하는 문제단일 메세지 큐가 가지는 scale과 속도 문제를 해결한다.클러스터 구성으로 HA, Fault tolerance를 자체적으로 해결한다.대용량 분산 메세지 처리에서 메세지 저장과 처리의 신뢰를 관리할 수 있는 메커니즘을 구현했다.대용량 데이터를 다루면서도 빠른 데이터 처리가 가능하게 한다.Kafka 서버 및 클라이언트고성능 TCP 네트워크 프로토콜을 통..

Kafka 배경 - Event Driven Architecture

스트리밍 데이터 처리이벤트 스트리밍데이터베이스, 센서 및 모바일 장치와 같은 이벤트 소스에서 발생하는 실시간 데이터를 이벤트 스트림 형태로 캡처하고 저장 및 처리하는 방법ex) 상품 선택, 구매 클릭 등다양한 비즈니스 로직에서 발생하는 이벤트 데이터를 적합한 곳에 실시간으로 전달하는 기술사례은행, 증권 거래소 등에서 실시간으로 결제 및 금융 거래 처리물류 시스템에서 실시간으로 추적 및 모니터링데이터 플랫폼, 이벤트 중심 아키텍처 및 MSA 기반을 제공하기 위해Event Driven Architecture전통적인 Transactional Service 관점에서는 하나의 처리가 모두 완료되어야 상태 확인이 가능하다. 그리고 중간 과정이 많아질수록 실패할 가능성이 높아지고 사용자 경험에 좋지못한 영향을 준다...

SealedSecret 소개 및 사용

Kubernetes에는 Secret이라는 오브젝트가 존재한다.중요한 정보들을 담는데 어떻게 하면 더 보안을 높일 수 있는 2가지 방안이 존재한다.Secret이란먼저 Secret이란db password나 ssh 키, 토큰 등 민감한 정보를 저장하고 관리하기 위해 사용되는 오브젝트이다.ConfigMap과 사용 방법 등 비슷한 면이 많지만 Secret은 좀 더 보안이 중요한 정보들을 안전하게 관리하기 위한 것이다.Secret 종류로는 아래와 같이 8종류가 있다.Opaque일반적인 용도로 사용되며, 특정 데이터 구조를 따르지 않습니다.kubernetes.io/service-account-token서비스 계정을 위한 토큰을 자동으로 생성하고 관리합니다.kubernetes.io/dockercfgDocker 레지스트..

Cloud/Kubernetes 2024.05.27

Kubernetes Volume - emptyDir로 sideCar 디자인패턴 구현하기 ( logstash -> elasticsearch)

2024.04.17 - [Cloud/Kubernetes] - Kubernetes Volume - emptyDir 사용해보기 Kubernetes Volume - emptyDir 사용해보기 emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패 cstory-bo.tistory.com 위의 포스팅에서 설명한 emptyDir을 토대로 log를 수집하고 분석한 후 elasticsearch로 전달하는 사이드카 디자인 패턴을 구현할 수 있다. vi tomcat.yaml apiVersion: apps/v1 kind: Deploym..

Cloud/Kubernetes 2024.04.17

Kubernetes Volume - emptyDir 사용해보기

emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패턴을 구현할 수 있다. non-persistent volume이라고도 한다. vi emptyDir.yaml 으로 yaml 파일 생성한다. 아래 readonly 옵션으로 권한도 제어할 수 있다. apiVersion: v1 kind: Pod metadata: name: pod-vol1 labels: app: test spec: containers: - image: dbgurum/k8s-lab:initial name: container1 volumeMounts: - n..

Cloud/Kubernetes 2024.04.17

kubernetes(k8s) 인증서 있는 대시보드 생성

쿠버네티스를 관리하기 위한 관리도구 중 대시보드로 쉽고 편리하게 관리할 수 있다. 쿠버네티스 관리도구 중 대시보드는 모든 데이터에 접근하기 위한 admin 권한을 가지고 있기에 보안이 중요하다. 대시보드 방법들은 크게 3가지가 있다. webUI를 제공하는 k8s 관리도구 방법들 kubectl proxy → GKE + dashboard APIserver(6443) → kubectl cluster-info api server를 이용한 접근방식 권장 NodePort service type https://github.com/kubernetes/dashboard/releases 이 중에서 2번째 방법을 사용하려고 한다. kubernetes-dashboard 생성 student@k8s-master:~$ kubect..

Cloud/Kubernetes 2024.04.11

AWS Serverless Observability Workshop - 2. Centralized Logging 중앙 집중식 로그

특성 중앙 집중식 로그 메트릭 정의 로그 데이터를 단일 위치에 표준화된 형식으로 수집, 저장 및 분석하는 시스템입니다. 시스템의 성능과 상태를 측정하기 위해 수집된 정량적 데이터입니다. 목적 애플리케이션과 시스템의 작동 상태를 이해하고, 문제 해결과 시스템의 성능 분석을 위함입니다. 시스템의 성능을 모니터링하고, 문제를 예방하며, 의사 결정을 지원하기 위함입니다. 데이터 유형 텍스트 기반의 로그 메시지로, 시스템 이벤트, 에러 메시지, 트랜잭션 정보 등이 포함됩니다. 숫자 형태의 데이터로, CPU 사용률, 메모리 사용량, 응답 시간, 트래픽 양 등이 포함됩니다. 사용 사례 오류 추적, 시스템 이벤트 모니터링, 보안 위반 감지 등입니다. 리소스 사용률 모니터링, 성능 트렌드 분석, 용량 계획 등입니다. 모..

카테고리 없음 2024.04.10

AWS Serverless Observability Workshop - 1. Introduction & Metrics and Dashboard & Canary

AWS에 직접 따라하면서 배울 수 있는 document를 제공하는 것을 알게되었다. 그래서 그 중 하나를 선택해서 직접 따라해보고 정리해보았다! 내가 선택한 것은 AWS Serverless Observability Workshop이다. 다른 흥미로운 것들도 많았지만 Observability에 관심이 많아져서 AWS에서 하는 Observability가 궁금해 선택하였다. AWS Serverless Observability Workshop Workshop LINK : https://catalog.us-east-1.prod.workshops.aws/workshops/b3fc5f7a-ff34-41fa-a9f2-4cd9e093e6ff/en-US Set up 아래 환경 생성 클릭 반드시 Amazon Linux 2 ..

Cloud/AWS 2024.04.10

Docker Architecture 그림으로 이해하기

도커를 더욱 이해하기 위해서 아래 그림을 직접 그려보았다. Docker 개요 사람들은 왜 도커를 사용할까 도커를 사용하면 복잡한 앱을 여러 컨테이너로 통합하여 실행할 수 있다. (하나로 합치는 것이 아닌 연결된 msa) 추가로 alpine이 붙는 이미를 사용하면 더욱 가벼워진다. vm과 비교를 해보면 VM - 하이퍼바이저 위에 [따로 kernel Space와 User Space만들어줌 ]→ 가상화 컨테이너 - 하이퍼바이저와 Kernel Space 위에 [User Space 만들어줌] → 가상화 무거운 Kernel Space가 컨테이너에는 빠져있기 때문에 이처럼 경량화가 가능하다. 이처럼 커널이 빠질 수 있는 것은 LXC라는 기술 덕분이다. LXC Linux Container 기술을 이용하며 kernel의..

Cloud/Docker 2024.04.09