49 lines
3.7 KiB
Markdown
49 lines
3.7 KiB
Markdown
---
|
|
id: P-REINFORCE-WIKI-DEV-KUBERNETES
|
|
title: "쿠버네티스와 컨테이너 오케스트레이션 (Kubernetes Orchestration)"
|
|
category: "10_Wiki/💻 Topics_Dev"
|
|
status: verified
|
|
canonical_id: ""
|
|
aliases: ["Kubernetes", "K8s", "쿠버네티스", "오케스트레이션", "Container Orchestration"]
|
|
duplicate_of: ""
|
|
source_trust_level: A
|
|
confidence_score: 1.0
|
|
tags: ["Infrastructure", "Kubernetes", "Orchestration", "Cloud_Native", "DevOps"]
|
|
raw_sources: ["Datacollector_Export_2026-05-02"]
|
|
last_reinforced: 2026-05-02
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[쿠버네티스와 컨테이너 오케스트레이션 (Kubernetes Orchestration)]]
|
|
|
|
## 1. 개요
|
|
쿠버네티스(Kubernetes, K8s)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈소스 오케스트레이션 플랫폼이다. 수백, 수천 개의 컨테이너가 복잡하게 얽힌 환경에서 서비스 가용성을 보장하고 리소스를 최적으로 배분하여 시스템 운영의 자동화를 실현한다.
|
|
|
|
## 2. 핵심 아키텍처 및 객체
|
|
- **클러스터 (Cluster)**: 쿠버네티스가 관리하는 노드(서버)들의 집합. 마스터 노드(제어 평면)와 워커 노드로 구성.
|
|
- **포드 (Pod)**: 쿠버네티스에서 배포할 수 있는 가장 작은 단위. 하나 이상의 컨테이너가 네트워크와 스토리지를 공유하며 실행됨.
|
|
- **서비스 (Service)**: 포드 집합에 고정된 IP 주소와 DNS 이름을 부여하여, 포드가 교체되더라도 안정적인 통신 경로 제공.
|
|
- **디플로이먼트 (Deployment)**: 애플리케이션의 원하는 상태(예: 3개의 포드 유지)를 정의하고, 롤링 업데이트 및 롤백 자동화.
|
|
- **컨트롤러 (Controller)**: 현재 상태를 관찰하고 사용자가 정의한 '원하는 상태(Desired State)'로 끊임없이 일치시키는 루프 수행 (Self-healing).
|
|
|
|
## 3. 엔지니어링 가치
|
|
- **자동화된 빈 패킹 (Bin Packing)**: 컨테이너의 요구 사항과 가용 리소스를 고려하여 노드에 최적으로 배치, 하드웨어 효율 극대화.
|
|
- **자동 복구 (Self-healing)**: 실패한 컨테이너를 재시작하고, 응답이 없는 포드를 교체하며, 서비스 준비가 안 된 경우 트래픽 차단.
|
|
- **무중단 배포 (Rolling Updates)**: 서비스 중단 없이 새로운 버전의 애플리케이션을 점진적으로 배포하고 문제 발생 시 즉시 롤백.
|
|
- **확장성 (Scalability)**: CPU 사용량 등 지표에 따라 포드 개수를 자동으로 늘리거나 줄이는 수평 확장(HPA) 지원.
|
|
|
|
## 4. 트레이드오프 및 주의사항
|
|
- **높은 학습 곡선 및 복잡성**: 설정 파일(YAML) 관리, 네트워크 네임스페이스, 스토리지 클래스 등 익혀야 할 개념이 방대하고 운영 난이도가 높음.
|
|
- **인프라 비용**: 쿠버네티스 마스터 노드 및 관리용 컴포넌트들을 유지하기 위한 기본 리소스 소모가 크며, 클러스터 구축 비용 발생.
|
|
- **보안 설정의 중요성**: 클러스터 내 권한 관리(RBAC), 네트워크 정책 등을 잘못 설정할 경우 시스템 전체가 위협에 노출될 수 있음.
|
|
|
|
## 5. 지식 연결 (Related)
|
|
- [[Containerization_and_Docker]]: 쿠버네티스가 관리하는 기본 실행 단위.
|
|
- [[Serverless_Architecture]]: 인프라 관리 부담을 더 줄인 서버리스와의 비교 분석.
|
|
- [[Cloud_Native_Patterns]]: 쿠버네티스 환경에서 권장되는 설계 원칙.
|
|
|
|
## 🧪 검증 상태 (Validation)
|
|
- **정보 상태**: 검증 완료 (Verified)
|
|
- **출처 신뢰도**: A
|
|
- **검토 이유**: 대규모 분산 시스템의 안정적인 운영과 자동화된 배포 인프라를 구축하기 위한 컨테이너 오케스트레이션의 표준 기술인 쿠버네티스 아키텍처 및 관리 전략 정립.
|