Docker Registry 간 이미지 이전하기: 모든 태그 자동 복사 방법

개발 환경이 확장됨에 따라, 한 Registry에 저장된 여러 이미지들을 다른 Registry로 이전해야 하는 경우가 있습니다. 이번 글에서는 단일 태그뿐 아니라, 여러 태그가 있는 이미지까지 자동으로 복사하는 스크립트를 작성하고 실행하는 과정을 소개합니다. 작업 환경 참고: 스크립트를 실행하는 호스트는 두 Registry 모두 네트워크로 접근 가능한 환경이어야 합니다. 스크립트 설명 이 스크립트는 다음 단계로 구성되어 있습니다. 전체 스크립트는 … Read more

Node.js 애플리케이션을 Kubernetes에 Ingress로 배포하는 전략

Kubernetes에 Node.js 백엔드 애플리케이션을 배포할 때, 단순히 서비스(Service)와 디플로이먼트(Deployment)만 구성해서는 외부에서 접근하기 어렵습니다. 특히 프로덕션 환경에서는 Ingress Controller를 활용해 도메인 기반 라우팅, TLS 인증서 연동, 접근 제어까지 구성하는 것이 일반적입니다. 이번 글에서는 Helm으로 Ingress-NGINX를 설치하고, Node.js 애플리케이션을 Ingress 리소스를 통해 외부 노출하는 전략을 단계별로 소개합니다. 외부에서는 NGINX로 들어온 요청이 Kubernetes의 Ingress를 거쳐 NodePort에 연결되는 구조이며, … Read more

NodePort 기반 Kafka 외부 접속 구성과 NGINX 연동 전략

Kafka를 Kubernetes 위에서 운영할 때 가장 자주 부딪히는 문제 중 하나는 외부에서 Kafka 브로커에 접근하는 방법입니다. Helm Chart로 클러스터를 구성하는 건 좋은 시작이지만, 클러스터 외부의 Producer나 Consumer가 Kafka와 통신하려면 몇 가지 추가 설정이 필요하죠. 이번 글에서는 Helm Chart 기반 Kafka 환경에서 NodePort를 활용해 외부 접속을 구성하고, NGINX를 통해 이를 안정적으로 라우팅하는 전략을 소개합니다. 1. 왜 … Read more

Helm으로 Kafka 클러스터 설치 자동화하기

이번 글에서는 Helm Chart를 활용하여 Kafka 클러스터를 자동으로 설치하고 구성하는 방법을 정리해보려 합니다. Kubernetes 환경에서 Kafka를 안정적으로 운영하기 위해 반복 가능한 설치 환경이 중요하다는 점, 다들 공감하시죠? 😎 1. Helm으로 Kafka 설치 준비 Kafka를 설치하기 위해 먼저 Helm Chart 저장소를 추가하고 최신 차트를 가져옵니다: bitnami/kafka 차트를 기반으로 Helm Chart 디렉토리가 생성되며, 여기에 필요한 커스터마이징을 적용해 … Read more

Kubernetes에서 Master Node에 Pod가 생성되지 않도록 설정하는 방법🚫

Kubernetes에서 Master Node(Control Plane)는 클러스터 제어를 담당하는 핵심 노드입니다. 일반적으로 Master Node에는 Pod를 배치하지 않지만, 설정에 따라 워커처럼 동작할 수 있습니다. 이 글에서는 Master(Node)에서 일반 워크로드가 실행되지 않도록 설정하는 방법을 소개합니다. 📌 기본 원리: Taint Kubernetes는 노드에 “taint(오염)”을 부여하고, 해당 taint를 허용하지 않는 일반 Pod는 해당 노드에 스케줄되지 않습니다. 기본적으로 Master Node에는 다음과 같은 taint가 … Read more

Raspberry Pi 초음파 센서 + LED + DB 기록 프로젝트 안내 💡

이번 글에서는 라즈베리파이와 Python을 활용하여 초음파 센서로 물체의 접근을 감지하고, 일정 거리 이내일 경우 LED를 켜며 그 시점을 SQLite DB에 저장하는 방법을 소개합니다. 초보자도 따라할 수 있는 IoT 실습 예제입니다. 🔧 필요한 부품 🛠 GPIO 라이브러리 설치 📌 회로 구성 (핀 연결) 🔄 LED 동작만 테스트해보고 싶다면? 👉 LED + 초음파센서 포스트 보기 💻 Python … Read more

Raspberry Pi + Python: 초음파 센서로 LED 제어하기 🚨

이번 프로젝트에서는 라즈베리파이와 파이썬을 이용해 초음파 센서로 거리를 측정하고, 특정 거리 이하로 접근하면 LED를 자동으로 켜는 시스템을 구현합니다. IoT 기초 실습으로 적합하며, 간단한 경보 장치로 응용할 수도 있어요. 🧰 준비물 📥 RPi.GPIO 라이브러리 설치 방법 ⚡ 하드웨어 연결 구성도 🎬 동작 영상 (YouTube) 💻 Python 제어 코드 📝 마무리 정리 이 실습은 초음파 거리 측정 … Read more

Helm 설치: Kubernetes 패키지 관리 도구

✨ Helm: Kubernetes 패키지 관리 도구 / Package Manager 설치 및 사용법 🎉 Helm은 Kubernetes 환경에서 애플리케이션 배포와 관리를 간편하게 만들어주는 패키지 관리자입니다.Helm is a powerful package manager for Kubernetes that helps you deploy and manage applications effortlessly.이번 글에서는 Helm의 기본 개념부터 설치 및 주요 사용법까지 단계별로 알아보겠습니다. 🚀 1. Helm이란? / What is Helm? … Read more

Kubernetes 네트워크 CNI 비교: Calico vs Flannel

Kubernetes 클러스터에서 Pod 간 네트워크 통신을 가능하게 해주는 CNI 플러그인 중 가장 널리 사용되는 Calico와 Flannel의 차이점에 대해 자세히 살펴봅니다. 🌐 Flannel: Simple, Lightweight ✅ 특징 🎯 적합한 상황 🔐 Calico: 고성능 + 보안 중심 ✅ 특징 🎯 적합한 상황 ⚖️ 비교표 항목 Flannel Calico 네트워크 방식 VXLAN (오버레이) BGP, IP-in-IP, eBPF 성능 보통 높음 … Read more

Flutter 개발자여, 스파게티 코드의 늪에서 벗어나! 강력한 MVVM 패턴 활용법

스파게티 언제까지 만들 거야 백엔드 개발자였지만, 회사 업무를 하면서 프론트엔드까지 도맡게 되는 일이 잦아졌다. 처음에는 간단한 앱으로 시작했지만, 프로젝트가 성장할수록 코드가 뒤엉켜버리는 이른바 ‘스파게티 코드’의 늪에 빠지고 말았다. 앱의 규모가 커질수록 유지보수는 점점 더 어려워졌고, 끝없는 버그 수정과 코드 수정으로 업무 효율성은 바닥을 쳤다. 결국, 이 고통스러운 현실에서 벗어나기 위해 디자인 패턴에 관심을 가지게 되었고, … Read more