<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://boksam.github.io/</id><title>Boksam</title><subtitle>복삼이의 개발 기록입니다. 주로 인프라/백엔드/데이터 엔지니어링 관련 내용을 다룹니다.</subtitle> <updated>2026-02-01T15:42:39+09:00</updated> <author> <name>Junwoo Park</name> <uri>https://boksam.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://boksam.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://boksam.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Junwoo Park </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Kustomize + Github Action으로 이미지 태그 관리 자동화하기</title><link href="https://boksam.github.io/posts/kustomize-image-tag/" rel="alternate" type="text/html" title="Kustomize + Github Action으로 이미지 태그 관리 자동화하기" /><published>2026-01-31T00:00:00+09:00</published> <updated>2026-01-31T00:00:00+09:00</updated> <id>https://boksam.github.io/posts/kustomize-image-tag/</id> <content type="text/html" src="https://boksam.github.io/posts/kustomize-image-tag/" /> <author> <name>Junwoo Park</name> </author> <category term="Infrastructure" /> <category term="CI/CD" /> <summary>Kubernetes 배포 시 latest 태그 사용으로 인한 이미지 미갱신 문제를 해결하기 위해, GitHub Actions와 Kustomize를 활용하여 이미지 태그를 Git Commit Hash로 자동 업데이트하는 CI 파이프라인 구축 과정을 공유합니다. 1. 개요 코드플레이스 서비스를 Kubernetes 환경으로 마이그레이션한 후, 첫 배포 테스트를 진행하던 중 예상치 못한 문제를 마주했습니다. CI/CD 파이프라인이 성공적으로 돌고 kubectl apply까지 실행되었음에도 불구하고, 실제 파드(Pod)에는 변경된 코드가 반영되지 않는 현상이었습니다. kubectl apply -k 를 실행해보니, 모든 Deployment가 unchanged로 표시되었고, 실제로도 이전 버전의 이미지가 ...</summary> </entry> <entry><title>Datadog Agent 호스트 설치 및 설정 가이드</title><link href="https://boksam.github.io/posts/datadog-agent-on-host/" rel="alternate" type="text/html" title="Datadog Agent 호스트 설치 및 설정 가이드" /><published>2026-01-11T00:00:00+09:00</published> <updated>2026-01-11T00:00:00+09:00</updated> <id>https://boksam.github.io/posts/datadog-agent-on-host/</id> <content type="text/html" src="https://boksam.github.io/posts/datadog-agent-on-host/" /> <author> <name>Junwoo Park</name> </author> <category term="Infrastructure" /> <category term="Observability" /> <summary>이 포스트는 Datadog Learning Center의 ‘The Agent on a Host’ 코스를 실습하며 정리한 내용입니다. 호스트 모니터링의 핵심인 Agent의 구조와 설정 방법을 다룹니다. 1. 개요: Datadog Agent란? Datadog Agent는 모니터링 대상 호스트에서 실행되는 오픈소스 소프트웨어입니다. 단순히 데이터를 보내는 도구를 넘어, 로컬 환경에서 발생하는 다양한 신호를 수집하고 가공하여 Datadog 플랫폼으로 안전하게 전달하는 역할을 합니다. 핵심 역할: 호스트의 이벤트(Events), 로그(Logs), 메트릭(Metrics), 트레이스(Traces)를 수집하고 Datadog Cloud로 전송합니다. 작동 방식: 수집된 데이터를 15~20초 주기로 D...</summary> </entry> <entry><title>K3s 환경에서 Kube-vip를 로드밸런서 컨트롤러로 활용하기</title><link href="https://boksam.github.io/posts/kube-vip-traefik/" rel="alternate" type="text/html" title="K3s 환경에서 Kube-vip를 로드밸런서 컨트롤러로 활용하기" /><published>2025-12-24T00:00:00+09:00</published> <updated>2025-12-27T11:55:57+09:00</updated> <id>https://boksam.github.io/posts/kube-vip-traefik/</id> <content type="text/html" src="https://boksam.github.io/posts/kube-vip-traefik/" /> <author> <name>Junwoo Park</name> </author> <category term="Infrastructure" /> <category term="Kubernetes" /> <summary>이 포스트에서는 K3s의 내장 로드밸런서인 ServiceLB 대신 Kube-vip를 사용하여 Traefik 서비스에 External IP를 할당하는 방법을 정리합니다. 1. 개요 최근 코드플레이스 프로젝트를 Kubernetes 환경으로 마이그레이션하면서 네트워크 인프라의 가용성을 높이는 작업을 진행하고 있습니다. 이전 글인 Kube-vip 기반 고가용성 K3s 클러스터 구축에서 다룬 것처럼, 저는 Kube-vip를 사용하여 HA 클러스터를 구성했습니다. 이번 글에서는 Kube-vip를 단순히 Control Plane의 고가용성 확보에 그치지 않고, 로드밸런서 컨트롤러로 설정하여 Traefik이 외부 트래픽을 안정적으로 수용할 수 있도록 구성한 과정을 공유하고자 합니다. 2. K3s의 기본 로드...</summary> </entry> <entry><title>Kube-vip 기반 고가용성 K3s 클러스터 구축</title><link href="https://boksam.github.io/posts/kube-vip/" rel="alternate" type="text/html" title="Kube-vip 기반 고가용성 K3s 클러스터 구축" /><published>2025-12-13T00:00:00+09:00</published> <updated>2025-12-27T12:01:55+09:00</updated> <id>https://boksam.github.io/posts/kube-vip/</id> <content type="text/html" src="https://boksam.github.io/posts/kube-vip/" /> <author> <name>Junwoo Park</name> </author> <category term="Infrastructure" /> <category term="Kubernetes" /> <summary>이 글에서는 학교 내부망의 네트워크 제약을 Kube-vip로 극복하고 단일 가상 IP(VIP) 기반의 무중단 K3s HA 클러스터를 구축한 과정에 대해 설명합니다. 1. 개요 제가 운영하고 있는 코드플레이스는 원래 한 대의 물리 서버에서 Docker Swarm 기반으로 운영되고 있습니다. 하지만, 하나의 물리 서버가 장애가 발생할 경우 전체 서비스가 중단되는 문제가 있었습니다. 실제로 네트워크 장애 및 정전으로 인해 서비스가 중단된 사례가 발생하면서, 보다 안정적인 인프라를 구축할 필요성을 느끼게 되었습니다. 마침 사용 가능한 물리 서버가 3대로 늘어나면서 고가용성(High Availability, HA) 클러스터 구축을 결정했고, 경량화된 Kubernetes 배포판인 K3s를 선택했습니다. 이...</summary> </entry> <entry><title>Redis를 사용하는 이유</title><link href="https://boksam.github.io/posts/redis-overview/" rel="alternate" type="text/html" title="Redis를 사용하는 이유" /><published>2025-11-29T00:00:00+09:00</published> <updated>2025-12-27T12:01:55+09:00</updated> <id>https://boksam.github.io/posts/redis-overview/</id> <content type="text/html" src="https://boksam.github.io/posts/redis-overview/" /> <author> <name>Junwoo Park</name> </author> <category term="Infrastructure" /> <category term="Redis" /> <summary>이 글에서는 Redis의 탄생 배경과 싱글 스레드 동작 원리, 그리고 RDB/AOF 및 클러스터링을 통해 데이터 영속성과 고가용성을 확보하는 핵심 아키텍처에 대해 설명합니다. 1. 개요 최근 기술 면접에서 “왜 Redis를 사용하나요?”라는 질문을 받았습니다. 저는 아래와 같이 대답했습니다. Redis는 인메모리(In-Memory) 데이터 저장소입니다. 디스크(Disk)에 데이터를 저장하는 데이터베이스와 달리 메모리에 데이터를 저장하므로 빠릅니다. Key-Value 형태로 데이터를 저장합니다. 캐싱, 세션 관리 등의 목적으로 주로 사용됩니다. 위 답변이 틀린 것은 아니지만, 면접관이 정말 궁금했던 것은 뻔한 답변이 아니라, 제가 Redis의 특성을 얼마나 깊이 이해하고 상황...</summary> </entry> </feed>
