클라우드/쿠버네티스
[쿠버네티스] 쿠버네티스 1: 쿠버네티스의 컨셉
KyuminKim
2024. 11. 25. 21:04
지난 시간을 통해 쿠버네티스가 무엇인지 가볍게 알아볼 수 있었다.
이번 시간에는 쿠버네티스의 컨셉을 알아보자!
🙋♀️들어가기 전에 .. 쿠버네티스의 구성에 대해 살펴보자
바로 이해 못해도 된다. 뒤에서 더 알아보자!
쿠버네티스 컨셉 1️⃣ API 서버
우리는 쿠버네티스의 기능을 불러서 쓴다
🙋♀️API?
- Application Program Interface의 약자
- 다른 소프트웨어를 제어하기 위해 약속한 인터페이스
- 다른 소프트웨어의 내부 구조를 모르더라도 소프트웨어를 무리 없이사용 가능
- 운영체제, 프로그래밍 언어, 웹 등에서 제공하는 광범위한 용어
ex) 개발자는 운영체제 API를 통해 운영체제의 기능을 호출하여 시스템 프로그램을 작성
쿠버네티스 컨셉 2️⃣ 원하는 상태 요구
쿠버네티스에게 명령을 내리는 2가지 형태가 있다
🙋♀️명령형 (kubectl 명령어로 관리)
오브젝트는 추후 알아보겠지만,
지금은 컨테이너라고 생각하자!
🙋♀️선언형 (kubectl 명령어 + yaml 파일로 관리)
이렇게 관리 기법에 따라
오브젝트 상태를 저장할 필요성이 있다!
특히 선언형의 경우에는,
"어떤 상태를 원해" 라고 상태를 선언하는 방식이기에
현재 오브젝트의 상태를 저장해야 한다
✅ etcd - 오브젝트 상태를 저장하기 위한 마스터 노드의 부분
✅ kubelet - 사용자의 "처리해주세요" 라는 명령어를 마스터 노드에서 받는다
이때 실제로 처리하는 부분은 워커 노드이고,
마스터 노드가 kubelet을 통해 워커노드로 처리 명령어를 보낸다
✅ cAdvisor - 워커노드에서 해당 노드 내 오브젝트의 상태를 모니터링하는 부분