클라우드/쿠버네티스

[쿠버네티스] 쿠버네티스 1: 쿠버네티스의 컨셉

KyuminKim 2024. 11. 25. 21:04

지난 시간을 통해 쿠버네티스가 무엇인지 가볍게 알아볼 수 있었다.

이번 시간에는 쿠버네티스의 컨셉을 알아보자!


🙋‍♀️들어가기 전에 .. 쿠버네티스의 구성에 대해 살펴보자

 

쿠버네티스의 간단한 구성

 

바로 이해 못해도 된다. 뒤에서 더 알아보자!


쿠버네티스 컨셉 1️⃣ API 서버

우리는 쿠버네티스의 기능을 불러서 쓴다

 

🙋‍♀️API?

  • Application Program Interface의 약자
  • 다른 소프트웨어를 제어하기 위해 약속한 인터페이스
  • 다른 소프트웨어의 내부 구조를 모르더라도 소프트웨어를 무리 없이사용 가능
  • 운영체제, 프로그래밍 언어, 웹 등에서 제공하는 광범위한 용어

        ex) 개발자는 운영체제 API를 통해 운영체제의 기능을 호출하여 시스템 프로그램을 작성

 

쿠버네티스 API 서버 (2)

 


쿠버네티스 컨셉 2️⃣ 원하는 상태 요구

쿠버네티스에게 명령을 내리는 2가지 형태가 있다

 

 

🙋‍♀️명령형 (kubectl 명령어로 관리)

명령형

오브젝트는 추후 알아보겠지만,

지금은 컨테이너라고 생각하자!

 

 

🙋‍♀️선언형 (kubectl 명령어 + yaml 파일로 관리)

선언형

 

 

 

이렇게 관리 기법에 따라

오브젝트 상태를 저장할 필요성이 있다!

 

특히 선언형의 경우에는,

"어떤 상태를 원해" 라고 상태를 선언하는 방식이기에

현재 오브젝트의 상태를 저장해야 한다

최종 쿠버네티스 구성 (간략)

 

✅ etcd - 오브젝트 상태를 저장하기 위한 마스터 노드의 부분

 

✅ kubelet - 사용자의 "처리해주세요" 라는 명령어를 마스터 노드에서 받는다

                       이때 실제로 처리하는 부분은 워커 노드이고,

                       마스터 노드가 kubelet을 통해 워커노드로 처리 명령어를 보낸다

 

✅ cAdvisor - 워커노드에서 해당 노드 내 오브젝트의 상태를 모니터링하는 부분