Skip to content
art of loving
Go back

쿠버네티스 기초 다지기

Updated:
Edit page

1. 쿠버네티스

1.1. 컨테이너 관리의 어려움

위와 같은 어려움을 해결하고자 쿠버네티스(Kubernetes등장

1.2. 컨테이너 오케스트레이션

쿠버네티스 : 컨테이너 오케스트레이션 도구

1.2.1. 오케스트레이션 (Orchestration)

→ 컨테이너화된 애플리케이션의 배포, 관리, 확장, 네트워킹 등을 자동화

1.2.2. 컨테이너 오케스트레이션 도구의 기능

쿠버네티스 는 이러한 컨테이너 오케스트레이션 기능을 제공 → 컨테이너 환경을 효율적으로 관리하고 운영할 수 있도록 지원

1.3. 쿠버네티스 주요 기능/장점

현대적인 애플리케이션 개발/운영에 필수적인 도구로 자리잡음.

2. 쿠버네티스 아키텍처

쿠버네티스는 분산 시스템. 여러 개의 서버가 협력하여 컨테이너화된 애플리케이션 관리/실행. 쿠버네티스 클러스터는 크게 마스터 노드 Master Node워커 노드 Worker Node로 구성됨. 두 종류의 노드가 협력하여 애플리케이션을 안정적으로 실행/관리하는 핵심 역할 수행. 쿠버네티스를 움직이는 두 개의 엔진이라고 볼 수 있음.

2.1. 마스터 노드 Master Node

2.1.1. 마스터 노드 구성 요소: API 서버, 스케줄러, 컨트롤러 매니저 (컨트롤 타워)

2.1.1.1. API 서버 : 모든 요청을 처리

2.1.1.2. 스케줄러 (kube-scheduler) : Pod를 적절한 노드에 할당

2.1.1.3. 컨트롤러 매니저(kube-controller-manager) : 클러스터의 상태를 지속적으로 관리

2.2. 워커 노드 Worker Node

2.2.1. kubelet : API 서버와 통신하여 Pod 실팽

2.2.2. kube-proxy : 네트워크 트래픽 관리

2.2.3. 컨테이너 런타임 Container Runtime : 실제로 컨테이너 실행

3. 쿠버네티스 핵심 개념

3.1 파드 Pod : 쿠버네티스 기본 단위, 컨테이너 묶음

예시 파드. 내부에서 웹 서버 컨테이너와 로그 수집 컨테이너가 함께 실행되고 있으며, 동일한 localhost를 통해 서로 통신, 공유 볼륨을 사용해서 데이터를 공유하고 있음.

3.1.1 파드 Pod의 특징

3.2. 서비스 (Service) : 파드를 연결하는 다리 (외부 노출 및 로드밸런싱)

예시 서비스. 클라이언트는 서비스의 IP주소로 접근, 서비스는 로드 밸런싱을 통해 트래픽을 여러 파드에 분산시킴.

3.2.1. 서비스의 특징

3.3. 디플로이먼트 (Deployment) : 파드 관리 및 배포 자동화 (무중단 배포)

예시. 애플리케이션의 목표 상태를 정의 → ReplicaSet는 디플로이먼트의 지시에 따라 파드를 관리함.

3.3.1. 주요 기능

3.4. 리소스 관리의 핵심 도구 : 네임스페이스, 레이블, 셀렉터

쿠버네티스는 대규모 클러스터를 효율적으로 관리하기 위한 다양한 리소스 관리 도구를 제공함.

3.4.1. 네임스페이스

3.4.2. 레이블

3.4.3. 셀렉터

위와 같은 도구들을 사용하면 아래와 같은 작업이 가능함.


Edit page
Share this post on:


Previous Post
TIL: helm 실습 / 프로비저닝
Next Post
React + flask + Docker 마라톤 배번 확인 로컬 개발 트러블슈팅