TIL - Kubernetes 스터디 내용 정리 1 (Node, Pod, Requests, Limits)

J_log·2025년 3월 19일
0
post-thumbnail

Kubernetes란?

Kubernetes는 컨테이너화된 애플리케이션을 배포하고 관리하는 오케스트레이션 도구로 자동화된 배포, 확장 및 운영을 지원한다.

핵심 개념

Node

  • Kubernetes 클러스터를 구성하는 개별 서버
  • Master Node : 클러스터를 제어하고 관리하는 역할
  • Worker Node : 실제 애플리케이션이 실행되는 노드로, Pod를 호스팅함

Pod

  • Kubernetes에서 애플리케이션이 배포되는 최소 단위
  • 하나 이상의 컨테이너를 포함할 수 있으며, 같은 네트워크 네임스페이스를 공유함

리소스 관리 - Requests & Limits

Kubernetes는 컨테이너가 사용하는 CPU와 메모리를 관리하기 위해 requests와 limits 설정을 지원한다.

Requests

  • 컨테이너가 최소한으로 보장받을 리소스
  • 스케줄러는 Node의 가용 리소스를 고려하여 Pod를 배치함

Limits

  • 컨테이너가 최대 사용할 수 있는 리소스
  • 설정된 한도를 초과하면 컨테이너는 제한을 받거나 종료될 수 있음
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: sample-replicaset
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.27.0
          resources:
            requests:
              cpu: '750m' #1Core = 1000m
              memory: '1Gi' # 1024Mi
            limits:
              cpu: '750m'
              memory: '1Gi'
          ports:
            - containerPort: 80

0개의 댓글

Powered by GraphCDN, the GraphQL CDN