본문 바로가기
개발 이야기/배포

쿠버네티스, 기본개념 과 용어정리

by 정선한 2023. 1. 31.
728x90
반응형

Container Orchestration : 컨테이너 배포 관리

컨테이너의 생성, 소멸, 자동배치, 복제, 장애복구, 스케줄링, 로드밸런싱, 클러스터링 등 컨테이너로 애플리케이션을 구성하는 모든 과정을 관리할 수 있도록 함.

Container

경량화되고 실행가능한 이미지를 말하며, 언어나 프레임워크에 상관없이 애플리케이션을 동일한 방식으로 관리. 개발 및 테스팅 운영환경, 로컬, 클라우드까지 동일한 환경으로 실행할 수 있다.
소프트웨어와 그에 필요한 의존성 모듈을 포함하며 컨테이너는 하부의 Host Insfastructure로부터 애플리케이션을 분리하여 배포 및 스케일링을 간편하게 한다.

쿠버네티스 (k8s, Kubernetes, 큐브, kube)

컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화 하는 컨테이너 오케스트레이션 플랫폼.

  • CI/CD : Build Auomation Server
  • Push : Update Images Pushed to Repository(Docker Registry)
    • Create Container Image
    • Push Container Image
    • Docker : OS 수준의 가상화를 제공하는 소프트웨어 기술.
      컨테이너들이 하나의 리눅스 인스턴스내에 동작할 수 있도록 하는 소프트웨어. (기존의 가상머신 대비 경량화되어 오버헤드를 줄일 수 있다.)
    • Image : 애플리케이션 실행에 필요한 소프트웨어 집합을 가지고 있는 저장된 컨테이너 인스턴스
      컨테이너 레지스트리에 저장, 로컬 시스템으로 호출, 애플리케이션으로서 실행할 수 있는 소프트웨어 패키징 방법으로 이미지 내에 포함되는 메타데이터에는 동작해야 할 실행 파일, 빌드한 개발자 등의 여러 정보를 담을 수 있다.
  • Deploy : Update Image Pulled by cluster for Deployment
  • Pipeline : Deployment Update Triggered by build Pipeline

쿠버네티스 용어

Cluster 클러스터, 노드라고 불리는 머신들의 집합.
쿠버네티스가 관리하는 컨테이너화 된 애플리케이션 기동.
클러스터는 여러개의 워커노드와 1개 이상의 마스터 노드로 구성
Deployment 복제된 애플리케이션을 관리하는 API객체.
kube-proxy 클러스터 내 각 노드에서 실행되는 네트워크 프록시
Node 노드, 쿠버네티스의 워커머신.
클러스터에 속하는 VM이거나 물리 머신.
노드는 Pod를 구동하기 위한 서비스를 가지며 마스터 컴포넌트에 의해 관리.
서비스 : Docker, Kubelet, Kube-proxy
Pod 쿠버네티스의 최소단위 객체. 클러스터 상에서 동작하는 컨테이너의 집합.
Service Pod집합과 같은 애플리케이션에 대해 접근하는 방법을 기술하는 API객체.
포트와 로드밸런서 기술. 클러스터에 대한 액세스 포인트는 내부일수도 있고 외부일 수도 있다.

 

728x90
반응형