HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/강의 내용 정리/
🏯
프로그래머스 백엔드 데브코스
/
[7/14] k8s & devops

[7/14] k8s & devops

컨테이너 오케스트레이션

Cluster

State

  • 뭐 죽으면 다시 켜주고
  • resource 보면서

Scheduling(배포 관리)

  • 가용 가능한 노드(resource 보고)를 찾아주는 것이 Scheduling

Rollout Rollback

  • 버전 업그레이드, 버전 다운그레이드 동시에

Service Discovery

Volume

  • node 마다 다양한 Volume Storage를 적용가능하게 해줌

쿠버네티스

아키텍처 - 구성

notion image
notion image
  • API Server
    • etcd와 통신하는 유일한 모듈
    • REST API 형태
    • 권한 관리
  • etcd(저장소)
    • key-value 형태로 데이터 저장
    • 백업 필수
    • 고가용성 - 분산 시스템으로 구성
  • scheduler
    • 새로 생성된 Pod를 감지하고 실행할 노드를 선택
    • 노드의 현재 상태와 Pod의 Request를 체크
    • 노드에 라벨 부여
  • Controller
    • 컨테이너에 상태 체크, Desired State를 유지
    • 상태를 체크하기 위해 Api Server에게 조회 요청, 권한 있는지 확인 후 정보조회
 

Node

  • 얘네도 API Server랑 통신

Proxy

  • 네트워크 프록시와 부하 분산 역할
  • 내/외부 통신 설정하기
  • iptables 또는

Kublet

  • 각 노드에 떠있는 형태
  • Pod를 실행/ 중지하고 상태 체크
  • CRI(Container Runtime Interface)

오브젝트

  • Pod : 가장 작은 배포 단위. 컨테이너를 배포하는게 아니라 Pod를 할당
    • 전에 클러스터에서 고유한 IP를 할당
    • 하나의 pod 안에 보통은 하나지만 여러 개의 컨테이너가 속할 수 있음
  • Replica Set : 여러 개의 Pod 관리. Pod를 생성, 제거하여 원하는 Replica 수 유지(Pod Template 통해서 Replica 가능. ec2 의 ami 와 동일)
  • Deployment
notion image
  • Service
    • Cluster IP
      • Pod를 로드밸런싱 해주는 서비스
      • Cluster IP 가 고정 IP 사용해서 pod에게 연결
    • NodePort → Cluster Ip → Pod로 연결
    • LoadBalancer
  • Ingress(nginx 같은 역할)
    • 도메인 이름 url path에 따라 cluster ip에 연결할 수 있게 해주는

API 호출

Object Spec - YAML

notion image
Desired State를 Object Spec으로 작성하고 이를 API Server에 보내는 식으로 동작을 함