전체 글
-
KubeBuilder와 Operator SDK의 관계Kubernetes 2025. 3. 25. 09:26
Kubebuilder와 Operator SDK는 둘 다 Kubernetes Operator를 Go 언어로 개발하기 위한 프레임워크이지만,역사적 배경과 구조적으로 다르면서도 현재는 거의 “합쳐졌다”고 볼 수 있어요.항목KubebuilderOperator SDK만든 곳Kubernetes SIG API Machinery (공식)Red Hat (Operator Framework 프로젝트)내부 구조controller-runtime 기반초기엔 다름, 현재는 Kubebuilder를 내부에 사용현재 관계독립 CLI + scaffolding 툴Kubebuilder 위에 Operator 관련 기능을 추가한 도구 Kubebuilder란? • Kubernetes 공식 SIG에서 개발한 Operator scaffolding 도..
-
client-go 와 controller-runtime의 관계Kubernetes 2025. 3. 25. 09:22
client-go는 무엇인가? • client-go는 Kubernetes 프로젝트 하위에 있는 공식 Go 클라이언트 라이브러리 • 위치: https://github.com/kubernetes/client-go • 원래는 Kubernetes의 k8s.io/kubernetes 코드베이스 내부에 있던 것을 분리해서 라이브러리화한 것 • kubectl도 내부적으로 client-go를 사용해요만든 주체Kubernetes 프로젝트 (CNCF 산하, Go로 작성)관리 위치https://github.com/kubernetes/client-go소유권Kubernetes SIG API Machinery 팀라이선스Apache 2.0 • kubebuilder는 Kubernetes Operator를 Go로 쉽게 개발할 수 있게..
-
쉽게 설명하는 Forward Index vs Inverted IndexInterview 2025. 3. 25. 08:40
🔸 Forward Index (전방 인덱스) — 전통적인 데이터베이스 방식문서를 중심으로 정보를 저장예를 들어 책 여러 권이 있다고 가정해보세요.Forward Index는 이렇게 저장하는 방식이에요:📘 Book 1: "I love Elasticsearch"📘 Book 2: "Elasticsearch is powerful"📘 Book 3: "I love databases"→ 이 경우, 각 문서가 어떤 단어를 포함하는지만 알고 있어요. 🔹 Inverted Index (역 인덱스) — 검색엔진 방식단어를 중심으로 정보를 저장이제 반대로 생각해봅시다."단어 → 어떤 문서에 포함되어 있는가?"를 저장하는 방식이에요:"elasticsearch" → [Book 1, Book 2] "love" ..
-
Elasticsearch/OpenSearch 관련 인터뷰 질문Interview 2025. 3. 25. 08:30
기본 개념 및 아키텍처Elasticsearch와 OpenSearch의 차이점은?Elasticsearch의 클러스터, 노드, 샤드, 리플리카의 개념을 설명해보세요.Elasticsearch의 inverted index는 어떻게 작동하나요?Elasticsearch의 Lucene과의 관계는?index, document, type, mapping, field의 차이와 역할은 무엇인가요?운영 및 인프라Elasticsearch 클러스터의 샤딩 전략은 어떻게 결정하나요?Hot-Warm-Cold 아키텍처는 어떻게 구성하나요? 어떤 상황에서 쓰이나요?Elasticsearch/OpenSearch를 운영할 때 노드 장애가 발생하면 어떻게 복구되나요?Elasticsearch 클러스터의 상태(green/yellow/red)를 설..
-
Elasticsearch의 클러스터, 노드, 샤드, 리플리카의 개념DevOps 2025. 3. 25. 08:29
Elasticsearch는 수평 확장을 염두에 둔 분산 검색 엔진이기 때문에, 클러스터, 노드, 샤드, 리플리카라는 핵심 개념을 기반으로 동작합니다. 각 개념은 다음과 같습니다: 1. 클러스터 (Cluster)정의: 하나 이상의 노드가 모여 구성된 Elasticsearch 시스템 전체.특징: 클러스터 이름이 동일한 노드끼리 자동으로 클러스터를 구성함.역할: 데이터 분산, 쿼리 분산 처리, 장애 복구 등을 자동으로 수행.2. 노드 (Node)정의: Elasticsearch가 설치되어 실행 중인 단일 서버 (물리적 또는 가상 머신).역할:데이터 저장 및 검색 요청 처리Master Node / Data Node / Ingest Node 등 역할 분리 가능예시: 클러스터가 3개 노드로 구성되어 있을 수 있음.3..
-
Elasticsearch와 OpenSearch의 차이점DevOps 2025. 3. 25. 08:26
Elasticsearch와 OpenSearch는 둘 다 분산 검색 및 분석 엔진으로, 내부적으로는 Apache Lucene을 기반으로 동작합니다.그러나 두 프로젝트는 라이선스와 생태계, 개발 주체의 차이로 인해 분리되었습니다. Elasticsearch는 원래 Elastic사에서 오픈소스로 시작했지만, 2021년 Elastic사가 라이선스를 Apache 2.0 → SSPL(서버 측 퍼블릭 라이선스)로 변경하면서, Amazon을 중심으로 기존 오픈소스 버전(7.10)을 기반으로 OpenSearch라는 포크 프로젝트가 시작됐습니다. 주요 차이점 요약:항목ElasticsearchOpenSearch개발 주체Elastic 사Amazon 중심의 커뮤니티라이선스SSPL (비OSI, 오픈소스 아님)Apache 2.0 (..
-
DATABASE에서 쿼리가 수행되는 전체 과정DevOps 2025. 3. 25. 08:17
DATABASE에서 쿼리가 수행되는 전체 과정은 일반적으로 아래와 같은 단계로 구성됩니다. 이 흐름은 대부분의 관계형 데이터베이스(RDBMS, 예: PostgreSQL, MySQL, Oracle 등)에서 유사하게 적용됩니다. 쿼리 수행 과정 전체 흐름[사용자 쿼리 입력] ↓1. Parsing (구문 분석) ↓2. Binding / Semantic Analysis (이름 해석 & 의미 분석) ↓3. Query Rewriting (쿼리 재작성, 옵티마이저 준비) ↓4. Planning / Optimization (실행 계획 수립) ↓5. Execution (실제 실행) ↓[결과 반환] 1. Parsing (구문 분석)무엇을 하나요?SQL 문장을..
-
calico vs ciliumKubernetes 2025. 3. 25. 01:25
Calico와 Cilium은 둘 다 고급 Kubernetes 네트워크 플러그인이며, 보안 정책과 고성능 네트워킹을 제공하지만 철학과 기술 스택이 완전히 다릅니다.Calico는 전통적인 Linux 커널 기능(iptables, routing, BGP 등)을 기반으로 하고,Cilium은 eBPF (Extended Berkeley Packet Filter) 를 핵심으로 삼아 더 현대적인 접근 방식을 제공합니다. Calico vs Cilium 비교 항목CalicoCilium기반 기술Linux 커널의 iptables, routing, BGPeBPF (커널 수준 가상 머신)eBPF 지원✅ (선택적 eBPF 지원)✅ 기본 eBPF 기반네트워크 모델L3 라우팅 또는 VXLAN 오버레이eBPF 기반 L3/L4/L7 aw..