본문 바로가기

분류 전체보기125

[Alloy] Promtail에서 Alloy로 서론 마이크로 서비스 환경에서 로그 집계와 인덱싱을 위한 솔루션으로 많은 회사에서 Loki와 Promtail을 같이 사용했을 것이다. 사내에서 사용한다면, 위 스택은 ELK에서 발생하는 라이센스에 따른 버전 이슈에서 좀 더 자유롭고 경량화되었다는 장점을 가지고 있다. 최근 로그 수집 Agent로 활용되는 Promtail에 대하여 Grafana Labs는 아래와 같은 공지를 띄웠다. https://grafana.com/docs/loki/latest/send-data/promtail/ Promtail agent | Grafana Loki documentationPromtail agent CautionPromtail is now deprecated and will enter into Long-Term Su.. 2025. 7. 30.
[Data-Structure] 머클트리(Merkel Tree) 머클 트리 : 머클 트리는 1979년 랄프 머클(Ralph Merkle)에 의해 발명된 이진트리 구조로, 암호학적 해시 함수를 이용하여 대량의 데이터를 효율적으로 검증할 수 있도록 설계되었다. 블록체인과 분산 시스템에서 핵심적인 역할을 하며, 데이터 무결성을 보장하는 강력한 도구로 사용된다. 머클 트리 구조 :머클 트리는 다음과 같은 트리 구조를 가지고 있다. 머클 트리가 만들어지는 순서 : 1. 해시 계산: 말단의 각 데이터 블록에 대해 암호학적 해시 함수(SHA-256 등)를 적용하여 고정 길이의 해시값을 생성 - 위 사진 기준으로, 거래 (1)과 거래 (2)와 같은 Leaf Node의 해시 값을 생성 2. 페어링: 인접한 두 해시값을 이용하여 상위 노드를 생성 - 거래 (1)과 .. 2025. 5. 30.
[Istio] Gateway 접속 시 Spring Boot Swagger Config의 404 Error or 307 Redirect 문제 서론 사내 쿠버네티스 클러스터에 Kong Gateway에서 Istio로 전환하고 나서, 별 특이사항이 없이 지내다가 Swagger (OpenAPI) 접속 시 문제가 생긴다는 것을 발견했다. [Spring-Boot] Swagger(OpenAPI) - Failed to load remote configuration (Reverse-Proxy)사내 프로젝트를 진행하면서, 쿠버네티스 환경에서 각각의 Micro-Service에 요청을 하기 위하여 Kong Ingress Controller를 이용하였는데, 그 과정에서 Swagger 접속 시 발생한 에러에 관한 내용이다. 위의ssnotebook.tistory.com 이전 글에 작성한 것처럼 404 에러와 함께 Failed to load remote configu.. 2025. 4. 16.
[Istio] mTLS 패킷 검증 서론  https://istio.io/latest/docs/concepts/traffic-management/ Traffic ManagementDescribes the various Istio features focused on traffic routing and control.istio.io Istio의 트래픽 관리 정책에 따르면, 서비스 메시에서 트래픽을 유도할 때에는 기본적으로 쿠버네티스 클러스터의 서비스 디스커버리와 엔드포인트를 활용한다고 되어 있다.   Istio와 Kiali를 구축하게 된다면, mTLS에 대한 부분을 아래 사진과 같이 확인할 수 있다.   nginx-1이라는 파드에서 nginx-2라는 서비스를 호출하여 nginx-2라는 파드를 호출하는 그래프를 나타낸 것인데, 각 초록선에 잠긴.. 2025. 3. 25.
[Network] BPF(Berkeley Packet Filter) / eBPF(extended BPF) BPF(Berkeley Packet Filter)    BPF(Berkeley Packet Filter)는 1992년에 개발된 네트워크 패킷 필터링 메커니즘이며, 패킷과 syscall에 대한 기본 필터링을 수행하기 위한 두 개의 32비트 레지스터가 있는 작은 바이트코드이다.   커널은 업데이트가 자주 일어나는 편이 아니며, 특정 기능을 추가하려면 커널을 빌드해야 하는 피곤한 상황이 발생하지만, BPF를 활용하면 사용자가 정의한 코드를 기반으로 사용자 공간에서 커널의 코드를 활용할 수 있다.   일반적으로는 모든 네트워크 패킷이 커널에서 사용자 공간(User Space)으로 복사되어 처리되었기에 이는 많은 시스템 리소스를 소모했고, BPF는 커널 내에서 직접 패킷을 필터링하는 방식을 활용하여 필요한 패킷만.. 2025. 3. 10.
[Cilium] Cilium 설치 후 Node NotReady 및 coredns Pending 서론 온프레미스 환경에서 kubeadm으로 쿠버네티스 클러스터를 구성한 후, CNI로 Cilium을 설치하며 생긴 이슈이다.  cilium을 정상적으로 설치한 후 cilium cli으로 배포된 cilium 파드의 정상적인 상태까지 확인했다.   하지만 지속적으로 Node 상태를 확인하면 "cni plugin not initialized"라는 이유로 NotReady가 되어 있었고, Coredns도 계속 Pending 상태로 있었다. 해결 기존 설치된 CNI의 영향을 의심하여, kubeadm reset과 /etc/cni 삭제 및 iptables도 flush를 해줬으나 해결하지 못하였고, 아래 링크를 통하여 혹시나 해본 것이 잘 되었다. https://discuss.kubernetes.io/t/k8s-cni-.. 2025. 2. 12.