전체 글 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