데이터 엔지니어링/Kubernetes

가볍게 읽는 쿠버네티스 안내서

오몰내알 2024. 4. 29. 10:05
가볍게 읽는 도커 안내서에 이어서 쿠버네티스 개요에 대해서도 간단하게 알아보자

 

쿠버네티스 개요

쿠버네티스가 하는 일

  • 컨테이너를 관리
  • 컨테이너가 하나만 있다면 충분히 관리할 수 있겠지만 만약 100개가 있다면?

 

쿠버네티스의 역사

  • 리눅스와 같은 성공한 오픈 소스 프로젝트 중에 하나

 

쿠버네티스 배포 종류

  • 관리형 쿠버네티스: EKS,GKE와 같은 클라우드를 이용한 쿠버네티스로 관리나 운영이 필요없다.
  • 설치형 쿠버네티스: Rancher, Red Hat Openshift와 같은 프로그램을 이용해서 필요한 여러 패키지들을 통합해 만든 설치형 버전.
  • 구성형 쿠버네티스(네이티브 쿠버네티스): 요구사항에 맞게 자유로운 커스텀이 가능하다. kuberadm, kubespray, krib, kops…

 

쿠버네티스 기초

파드(Pod)

  • 마스터 노드에서 워커노드에 애플리케이션을 배포하도록 명령을 한다
    • 이때 애플리케이션을 배포하는 단위는 파드(Pod)이다.
  • 파드는 하나의 일을 수행하기 위한 컨테이너 집합
    • 하지만 대부분은 하나의 파드는 하나의 컨테이너로 이루어져 있다.

서비스(Service)

  • 배포한 파드는 외부에서 접속할 수가 없다.
  • 쿠버네티스 클러스터 밖으로 나갈려면 문을 나가야 한다.
  • 문을 나가는 방법
    1. 문을 없애버린다.
    2. 안전한 구역을 만들어 나간다.
  • 이 문을 나가는 가장 좋은 방법은 쿠버네티스 클러스터와 안전하게 연결하기 위한 어떠한 공간을 이용하는 것이다.
    • 이 영역을 서비스 영역이라고 한다.
  • 서비스가 각 노드의 노드포트(NodePort)를 통해 들어오고 각 노드포트들이 통신을 하면서 파드들이 위치한 곳을 찾아가는 구조

  • 서비스는 쿠버네티스 클러스터를 외부에 노출하기 위한 방법
    • 현관문을 통과하여 실제 방에 들어가기 위해서 항상 거쳐야 하는 공간은 거실이다.
    • 서비스는 이러한 거실과 같이 파드에 접속하기 위해 항상 거쳐야 하는 곳이다.

디플로이먼트(Deployment)

  • 파드는 한 개밖에 없는데 만약 그 파드가 죽어버린다면?
    • 파드를 여러 개 사용하면 된다
  • 디플로이먼트는 파드를 여러 개 모아 놓은 단위 객체
  • 기존의 kubectl run은 파드 하나만 배포할 수 있기 때문에 kubectl create를 이용하여 배포한다.
  • kubectl apply -f 를 통해 파일로 배포할 수도 있다.
  • 또한 Replicas를 이용하여 실제로 배포되는 파드의 수를 조정한다.

로드밸런서(LoadBalancer)

  • 노드포트로 외부에 노출을 하게 되면 IP주소를 직접 입력해야 하기 때문에 부담이 될 수 있다.
  • 로드밸런서를 사용하면 좋은 점
    • 가상 IP를 사용함으로써 노드의 IP를 알려주어야 하는 부담이 없다.
    • 접속해야 하는 노드의 경로를 최적화하여 보내줄 수 있다.

 

쿠버네티스 구조

네임스페이스

  • 쿠버네티스는 다양한 구성으로 이루어져 있다.
    • api, etcd, c-m...
  • 네임스페이스라는 구역으로 나누어져 서로 나름의 독립된 환경을 가지고 있었기 때문이다.
  • 쿠버네티스를 주요하게 관리하는 요소들은 kube-systems 밑에 위치한다.

쿠버네티스의 기본 철학

 

  • 쿠버네티스는 MSA를 기반으로 각 컴포넌트가 각자의 일을 열심히 하는 것을 기본으로 한다.
  • API 서버는 감시만 하고, 실제 파드를 생성하는 것은 kubelet이 담당한다.
    • API 서버는 굳건한 기둥과 같이 상태값만 가지고 있고, 컨트롤러 매니저, 스케줄러, kubelet 등이 상태값에 맞추는 방식으로 동작한다.
  • 이렇게 API 서버가 추구하는 상태를 만들면 현재 상태를 여기에 맞추려고 하는 선언적인 시스템으로 동작한다.
  • 감시 → 차이발견 → 상태변경이 계속해서 반복
  • 가장 중요한 2가지
    • 각자 할 일을 하는 MSA 방식
    • 이러한 선언적인 상태를 계속해서 맞춰가려고 한다.
반응형