
Kustomize + Github Action으로 이미지 태그 관리 자동화하기
Kubernetes 배포 시 latest 태그 사용으로 인한 이미지 미갱신 문제를 해결하기 위해, GitHub Actions와 Kustomize를 활용하여 이미지 태그를 Git Commit Hash로 자동 업데이트하는 CI 파이프라인 구축 과정을 공유합니다. 1. 개요 코드플레이스 서비스를 Kubernetes 환경으로 마이그레이션한 후, 첫 배...

Kubernetes 배포 시 latest 태그 사용으로 인한 이미지 미갱신 문제를 해결하기 위해, GitHub Actions와 Kustomize를 활용하여 이미지 태그를 Git Commit Hash로 자동 업데이트하는 CI 파이프라인 구축 과정을 공유합니다. 1. 개요 코드플레이스 서비스를 Kubernetes 환경으로 마이그레이션한 후, 첫 배...

이 포스트는 Datadog Learning Center의 ‘The Agent on a Host’ 코스를 실습하며 정리한 내용입니다. 호스트 모니터링의 핵심인 Agent의 구조와 설정 방법을 다룹니다. 1. 개요: Datadog Agent란? Datadog Agent는 모니터링 대상 호스트에서 실행되는 오픈소스 소프트웨어입니다. 단순히 데이터를 ...

이 포스트에서는 K3s의 내장 로드밸런서인 ServiceLB 대신 Kube-vip를 사용하여 Traefik 서비스에 External IP를 할당하는 방법을 정리합니다. 1. 개요 최근 코드플레이스 프로젝트를 Kubernetes 환경으로 마이그레이션하면서 네트워크 인프라의 가용성을 높이는 작업을 진행하고 있습니다. 이전 글인 Kube-vip 기반...

이 글에서는 학교 내부망의 네트워크 제약을 Kube-vip로 극복하고 단일 가상 IP(VIP) 기반의 무중단 K3s HA 클러스터를 구축한 과정에 대해 설명합니다. 1. 개요 제가 운영하고 있는 코드플레이스는 원래 한 대의 물리 서버에서 Docker Swarm 기반으로 운영되고 있습니다. 하지만, 하나의 물리 서버가 장애가 발생할 경우 전체 서비...

이 글에서는 Redis의 탄생 배경과 싱글 스레드 동작 원리, 그리고 RDB/AOF 및 클러스터링을 통해 데이터 영속성과 고가용성을 확보하는 핵심 아키텍처에 대해 설명합니다. 1. 개요 최근 기술 면접에서 “왜 Redis를 사용하나요?”라는 질문을 받았습니다. 저는 아래와 같이 대답했습니다. Redis는 인메모리(In-Memory) 데이...

이 글에서는 V8 엔진의 JIT 컴파일과 libuv의 이벤트 루프 동작 원리를 통해 Node.js 성능에 대한 오해를 바로잡고, Node.js의 비동기 처리 구조를 설명합니다. Node.js는 정말 느릴까? 2025년 GitHub 기준, 가장 인기 있는 백엔드 프레임워크 순위를 보면 흥미로운 점을 발견할 수 있습니다. Node.js 기반의 ...

이 글에서는 MQTT와 HTTP의 아키텍처 및 성능 차이를 비교하고, 저전력·저대역폭의 IoT 환경에서 MQTT가 선호되는 이유와 각 프로토콜에 적합한 사용 사례를 설명합니다. 개요 서빙 로봇 회사에서 인턴으로 근무하면서, 로봇의 여러 시스템이 제가 웹 개발에서 익숙하게 사용하던 HTTP 대신 MQTT를 사용하고 있다는 것을 알게 되었습니다. 이...