| En

미니PC Kubernetes #5: 외부 접근 설정

개요 이전 글에서는 Traefik 인그레스 컨트롤러를 설치하고 내부와 외부 서비스를 분리하여 관리 인터페이스를 안전하게 접근할 수 있도록 구성했다. 이번 글에서는 홈랩 쿠버네티스 클러스터의 서비스를 외부 인터넷에서 접근할 수 있도록 DDNS와 포트포워딩을 구성하는 방법을 알아본다. 네트워크 아키텍처 요약 먼저 이전 글에서 구성한 네트워크 아키텍처를 간략히 요약한다: 내부용 로드밸런서(192.168.0.200): ArgoCD, Longhorn, Traefik 대시보드 같은 관리 인터페이스만 노출하며 내부 네트워크에서만 접근 가능하다. 외부용 로드밸런서(192.168.0.201): 블로그, 개인 프로젝트 등 공개 서비스만 노출하며 라우터 포트포워딩을 통해 외부 인터넷에서 접근 가능하다. ...

2025년 2월 26일 · 8 분 · 1610 단어 · In-Jun

미니PC Kubernetes #4: 내부 서비스 구성

개요 이전 글에서는 Longhorn 분산 스토리지 시스템을 설치하여 파드가 재시작되거나 다른 노드로 이동해도 데이터가 유지되는 영구 스토리지 환경을 구축했다. 이번 글에서는 홈랩 쿠버네티스 클러스터에 Traefik 인그레스 컨트롤러를 설치하고, 내부 네트워크에서 관리 인터페이스에 안전하게 접근할 수 있도록 구성하는 방법을 알아본다. 인그레스 컨트롤러 선택 홈랩 환경에서 쿠버네티스 서비스를 외부에 노출하는 방법은 여러 가지가 있다: NodePort: 각 노드의 특정 포트(30000-32767 범위)를 통해 서비스에 접근하는 방식으로 설정이 간단하지만 포트 번호를 기억해야 하는 불편함이 있고, 표준 HTTP/HTTPS 포트를 사용할 수 없다. ...

2025년 2월 25일 · 7 분 · 1375 단어 · In-Jun

미니PC Kubernetes #3: Longhorn 스토리지

개요 이전 글에서는 ArgoCD를 설치하여 GitOps 환경을 구축했다. 이번 글에서는 홈랩 쿠버네티스 클러스터에 Longhorn 분산 스토리지 시스템을 설치하고 구성하는 방법을 알아보며, 영구 스토리지가 필요한 이유와 다양한 스토리지 솔루션을 검토한 경험을 공유한다. 홈랩 환경의 스토리지 고민 홈랩 쿠버네티스를 구축하면서 가장 큰 고민 중 하나는 스토리지 구성이었으며, 데이터베이스나 모니터링 도구, 백업 시스템 같은 대부분의 실용적인 애플리케이션들은 파드가 재시작되거나 다른 노드로 이동해도 데이터가 유지되는 영구 스토리지(Persistent Storage)가 필요하다. 처음에는 다음과 같은 방법을 시도했다: ...

2025년 2월 25일 · 7 분 · 1373 단어 · In-Jun

미니PC Kubernetes #2: ArgoCD GitOps

개요 이전 글에서는 Dell OptiPlex Micro를 활용하여 홈랩 쿠버네티스 클러스터를 구성하고 기본 설정을 완료했다. 이번 글에서는 클러스터의 모든 구성요소를 Git 저장소에서 선언적으로 관리하기 위해 GitOps 도구인 ArgoCD를 설치하고 App of Apps 패턴을 적용하여 확장 가능한 인프라 관리 체계를 구축하는 방법을 다룬다. GitOps의 이해 GitOps란? GitOps는 2017년 Weaveworks의 Alexis Richardson이 처음 제안한 운영 모델로, Git 저장소를 인프라와 애플리케이션 구성의 단일 진실 공급원(Single Source of Truth)으로 활용하는 방식이며, 모든 인프라 변경 사항을 Git 커밋으로 추적하고 Pull Request를 통해 검토한 후 자동화된 프로세스를 통해 실제 환경에 반영함으로써 인프라를 코드처럼 관리할 수 있게 한다. ...

2025년 2월 25일 · 9 분 · 1739 단어 · In-Jun

미니PC Kubernetes #1: 클러스터 구축

개요 이 시리즈는 홈랩 환경에 쿠버네티스 클러스터를 구축하고 사이드 프로젝트나 테스트 환경을 위한 완전한 CI/CD 파이프라인을 구성하는 과정을 다루며, 클라우드 서비스 비용에 대한 부담 없이 집에서 직접 쿠버네티스를 운영하면서 컨테이너 오케스트레이션, 네트워킹, 스토리지, 모니터링, GitOps 등 다양한 클라우드 네이티브 기술을 실험하고 학습할 수 있는 환경을 구성하는 방법을 알아본다. 하드웨어 구성으로는 Dell OptiPlex Micro 다섯 대로 노드를 구성하고 TP-Link 라우터와 스위치로 네트워크를 구성했으며, Dell OptiPlex Micro는 전력 소모가 적은 미니 PC로 중고 시장에서 저렴하게 구할 수 있는 장점이 있고, 구매한 모델은 9세대 i5 CPU와 16GB 메모리, 256GB SSD로 구성되어 있어 쿠버네티스 워크로드를 충분히 처리할 수 있는 사양을 갖추고 있다. ...

2025년 2월 24일 · 7 분 · 1423 단어 · In-Jun

IPv6 NDP 이웃 탐색 프로토콜

NDP란 무엇인가 NDP(Neighbor Discovery Protocol)는 2007년 IETF의 RFC 4861 문서를 통해 공식적으로 표준화된 IPv6 네트워크의 핵심 프로토콜로, IPv4에서 사용되던 ARP(Address Resolution Protocol), ICMP Router Discovery, ICMP Redirect 등 여러 프로토콜의 기능을 하나로 통합하여 더욱 효율적이고 안전한 네트워크 관리를 가능하게 하며, ICMPv6(Internet Control Message Protocol version 6)를 기반으로 동작하여 이웃 노드 탐색, 라우터 발견, 주소 자동 구성, 주소 중복 검사, 경로 최적화 등 다양한 기능을 수행한다. IPv4 환경에서는 ARP, DHCP, ICMP 등 여러 프로토콜이 독립적으로 동작하여 네트워크 관리가 복잡했지만, IPv6에서는 NDP가 이러한 기능들을 통합하여 제공함으로써 프로토콜 스택을 단순화하고 보안성을 강화했으며, 특히 멀티캐스트(multicast) 기반 통신을 사용하여 IPv4의 브로드캐스트(broadcast) 방식보다 네트워크 효율성이 크게 향상되었고, 이는 대규모 네트워크 환경에서 불필요한 트래픽을 줄이고 전력 소비를 절감하는 데 기여한다. ...

2025년 2월 24일 · 15 분 · 2988 단어 · In-Jun

우분투 24.04 LTS Wine 설치

Wine의 개념과 작동 원리 Wine(Wine Is Not an Emulator)은 Ubuntu 24.04 LTS를 포함한 Linux, macOS, BSD와 같은 UNIX 호환 운영체제에서 Windows 프로그램을 실행할 수 있게 해주는 호환성 레이어(Compatibility Layer)로, 1993년 Bob Amstadt와 Eric Youngdale에 의해 시작된 오픈 소스 프로젝트이며 30년 이상의 개발 역사를 가지고 있다. Wine의 이름은 재귀적 약어로 “Wine Is Not an Emulator"를 의미하며, 이는 Wine이 단순한 에뮬레이터가 아니라는 점을 강조하기 위해 선택되었다. Wine은 가상 머신이나 에뮬레이터와는 근본적으로 다른 방식으로 작동하며, Windows API 호출을 실시간으로 POSIX 호환 시스템 호출로 변환하는 역할을 수행한다. 가상화 소프트웨어인 VirtualBox나 VMware는 완전한 Windows 운영체제를 가상 환경에서 실행하므로 상당한 시스템 리소스를 소비하는 반면, Wine은 Windows 프로그램이 호출하는 API(Application Programming Interface) 함수들을 Linux 시스템이 이해할 수 있는 형태로 변환하여 네이티브에 가까운 성능을 제공한다. 예를 들어 Windows 프로그램이 파일을 열기 위해 CreateFile 함수를 호출하면 Wine은 이를 리눅스의 open 시스템 콜로 변환하여 실행한다. ...

2025년 2월 23일 · 8 분 · 1532 단어 · In-Jun

ARP 프로토콜 동작 원리

ARP란 무엇인가 ARP(Address Resolution Protocol)는 1982년 IETF의 RFC 826 문서를 통해 공식적으로 표준화된 네트워크 프로토콜로, TCP/IP 네트워크 환경에서 IP 주소를 기반으로 해당 IP에 대응하는 MAC 주소(물리적 주소)를 동적으로 찾아내는 주소 변환 프로토콜이며, OSI 7계층 모델에서 2계층(데이터 링크 계층)과 3계층(네트워크 계층) 사이의 경계에서 동작하여 논리적 주소(IP)와 물리적 주소(MAC)를 매핑하는 핵심 역할을 수행한다. 네트워크 통신에서 장치 간 실제 데이터 전송은 MAC 주소를 기반으로 이루어지는데, 상위 계층(네트워크 계층)에서는 IP 주소만 알고 있으므로 하위 계층(데이터 링크 계층)에서 패킷을 전송하기 위해서는 반드시 목적지의 MAC 주소를 알아야 하며, 이때 ARP가 IP 주소를 MAC 주소로 변환하는 과정을 담당한다. ARP는 브로드캐스트(broadcast) 방식으로 네트워크 내 모든 장치에게 질의를 보내고 해당 IP를 가진 장치만 응답하는 구조로 동작하며, 이더넷(Ethernet) 네트워크를 비롯한 대부분의 로컬 네트워크 환경에서 필수적으로 사용되는 프로토콜이다. ...

2025년 2월 20일 · 10 분 · 2047 단어 · In-Jun

DNS 작동 원리와 구조

개요 인터넷에서 웹사이트에 접속할 때 우리는 IP 주소 대신 도메인 이름을 사용하며, 이 도메인 이름을 실제 서버의 IP 주소로 변환하는 시스템이 바로 DNS(Domain Name System)다. DNS는 인터넷의 전화번호부에 비유되며, 1983년 Paul Mockapetris에 의해 설계된 이후 인터넷의 핵심 인프라로 자리잡았고, 매일 수십억 건의 DNS 쿼리를 처리하면서 사용자들이 192.168.0.1이나 2001:4860:4860::8888 같은 복잡한 IP 주소를 기억하지 않고도 www.example.com처럼 직관적인 도메인 이름만으로 웹 서비스에 접근할 수 있도록 한다. DNS(Domain Name System)란? DNS는 사람이 읽을 수 있는 도메인 이름(예: www.example.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 93.184.216.34)로 변환하는 분산 데이터베이스 시스템으로, 전 세계에 분산된 계층적 네임서버들이 협력하여 도메인 이름 해석 서비스를 제공하며, IETF에서 RFC 1034와 RFC 1035로 표준화되어 있다. ...

2025년 2월 20일 · 13 분 · 2643 단어 · In-Jun

OSI 7계층 네트워크 모델

개요 네트워크 통신은 복잡한 과정을 거쳐 이루어지며, 이 과정을 체계적으로 이해하기 위해서는 표준화된 참조 모델이 필요하다. OSI(Open Systems Interconnection) 7계층 모델은 국제표준화기구(ISO)가 1984년에 발표한 네트워크 통신 표준으로, 서로 다른 시스템 간의 통신을 7개의 계층으로 나누어 설명하며 각 계층이 독립적으로 동작하면서도 상호 협력하여 데이터를 전송하는 방식을 정의하고, 이 모델은 네트워크 엔지니어와 소프트웨어 개발자가 복잡한 통신 과정을 이해하고 문제를 진단하는 데 있어 핵심적인 개념적 프레임워크 역할을 수행한다. OSI 7계층 모델이란? OSI 7계층 모델은 네트워크 통신 과정을 물리 계층부터 응용 계층까지 7개의 추상화된 계층으로 나눈 참조 모델로, 1970년대 후반 네트워크 장비 제조사마다 독자적인 프로토콜을 사용하여 상호 운용성이 부족했던 문제를 해결하기 위해 ISO에서 개발했으며, 현재는 실제 구현보다는 네트워크 개념을 이해하고 문제를 진단하는 데 사용되는 참조 모델로 활용된다. ...

2025년 2월 20일 · 12 분 · 2513 단어 · In-Jun
[email protected]