Kubernetes Probe(Liveness/Readiness/Startup) 동작 분석 및 tcpSocket 테스트 결과
·
Kubernetes
0. 서론개발사에서 배포 시 잠깐의 사이트 순단이 발생하는 문제를 구조적으로 개선하고자, Kubernetes Probe를 활용한 테스트를 진행하였다.이 글에서는 Probe의 개념과 종류를 정리하고, tcpSocket 방식으로 진행한 3가지 케이스의 테스트 결과를 기록한다. 1. Probe란?Probe는 컨테이너의 상태를 Kubelet이 주기적으로 진단하는 메커니즘이다.Probe를 통해 Kubernetes는 컨테이너가 정상 동작 중인지, 트래픽을 받을 준비가 되었는지, 초기 기동이 완료되었는지를 판단한다. Probe의 종류는 다음과 같다. 1. Liveness Probe(라이브니스 프로브)"애플리케이션이 응답 가능한 상태인지"를 체크한다.프로브 실패 시 → 해당 Pod를 재시작한다. 2. Readiness..
3테이블을 중심으로 살펴보는 LAN 통신
·
Network
0. 서론과거 네트워크를 처음 배울 때,"PC1과 PC2이 그냥 같은 스위치에 물려 있는데, 왜 이렇게 복잡한 테이블들이 필요할까?" 라는 의문이 있었다. 실제 네트워크 통신은 단순히 케이블로 연결되었다고 해서 바로 이루어지지 않는다.IP 기준의 판단, IP를 MAC으로 바꾸는 과정, 그리고 최종적으로 프레임을 어느 포트로 내보낼지에 대한 판단까지 각 단계마다 역할이 분리된 테이블들이 관여한다. 대표적인 것이 바로 다음 3가지 테이블이다.Routing Table : “이 IP로 가려면 어디로 보내야 하지?”ARP Table : “이 IP의 실제 MAC 주소는 뭐지?”MAC Table : “이 MAC 주소는 어느 포트에 연결돼 있지?”이 글에서는 PC1 ← L2 스위치 → PC2 이라는 가장 단순한 구조를..
리눅스 부팅 프로세스
·
Linux
0. 서론리눅스 시스템이 켜질 때부터 사용자 환경이 준비되기까지의 과정은 여러 단계로 나뉜다. 1. BIOS 초기화 단계리눅스 부팅 과정에서 가장 첫 번째 단계는 BIOS 초기화다.이 단계에서 하드웨어를 준비하고 부팅 가능한 장치를 찾아 부트로더를 실행한다. 여기서 BIOS(Basic Input/Output System)는 컴퓨터가 켜질 때 가장 먼저 실행되는 펌웨어(하드웨어를 제어하는 소프트웨어)를 의미한다. 요즘에는 UEFI(Unified Extensible Firmware Interface)라는 현대적 펌웨어도 사용되는데,GPT 디스크 지원 및 GUI 부트 메뉴 등 BIOS보다 기능이 훨씬 확장된 방식이다. BIOS 초기화는 다음과 같은 과정을 거친다. 1. 전원 공급CPU, 메모리 등 필수 하드웨..
커널이란?
·
Linux
서론컴퓨터에서 프로그램을 실행하면, 사실 프로그램이 직접 하드웨어를 제어하지는 못한다.CPU, 메모리, 디스크, 네트워크 같은 하드웨어 자원은 복잡하고, 잘못 다루면 시스템 전체가 망가질 수 있기 때문이다. 여기서 커널(Kernel)이라는 개념이 등장한다. 커널이 왜 필요한가?커널이 왜 필요한지를 알기 위해, 우선 커널 없이 사용자가 하드웨어를 직접 제어해야 하는 상황을 가정해 보자. 커널이 없다면?CPU 충돌: 여러 프로그램이 동시에 CPU를 쓰려고 할 경우, 어떻게 할 것인지?메모리 충돌: 한 프로그램이 다른 프로그램의 메모리를 덮어쓸 경우, 어떻게 할 것인지?I/O 혼잡: 디스크, 네트워크 같은 자원을 여러 프로그램이 동시에 요청할 경우, 어떻게 할 것인지?보안 문제: 프로그램이 마음대로 하드웨어를..