쿠버네티스 하나하나 따져보기전에 전체 큰그림부터 보고 들어가기
1. 클러스터
단일 컴퓨터가 아니라 여러대의 컴퓨터를 하나로 묶은 단위
이때 클러스터 하나에 물리적인 서버 또는 가상머신을 '노드'
즉, 클러스터는 '노드'의 집합이라고 볼 수 있음
* Node 개념
컨테이너가 배포되는 개별적인 머신들(가상머신이나 물리적인 서버머신)
그 안에 여러가지 컨테이너들이 올라갈 수 있음
AWS안에서도 하나의 컴퓨팅 서비스가 돌아가가기 위한 개별적인 노드와 같은 의미
2. server-client의 API 구조
뜬금없지만, 쿠버네티스는 모든 명령과 통신을 API를 통해서 하기 때문에 기존의 Server-Client 방식을 보면
API방식은 서버와 클라이언트가 동작하기 위해 징검다리?역할을 해줌
어떤식으로 통신해야할지 대부분 http웹 기반으로 method가 정의되어 있다
3. '노드'와 '마스터' 구조
마찬가지로 클러스터의 구조도 API처럼 중앙에서 원격으로 여러가지 서버들을 관리하는 구조
컨테이터들을 관리할 에이전트가 kubelet고,
가운데에서 API서버와 상태저장소를 가지고 있는게 마스터고,
각각의 통신할 여러가지 서버들이 노드다
모든 명령은 마스터 API 서버를 호출하고, 노드는 마스터와 통신하면서 필요한 작업을 수행한다
즉, 직접 노드에 명령을 해서 특정 컨테이너에 접속하는 것이 아니라
마스터에 명령을 내리고, 노드에 접속해서 결과를 응답한다
사실 마스터도 노드중에 하나임
그래서 명칭을 마스터노드/워커노드라고 나누기도 함
간단하게 보면
마스터노드 : 쿠버네티스의 환경설정 저장하고, 전체 클러스터를 관리하는 역할
워커노드 : 마스터에 의해 명령을 받고 실제로 워크로를 생성해서 서비스를 하는 역할
즉, 하나의 마스터노드와 여러대의 워커로드로 하나의 클러스터를 이루고 있는 구조
그래서 쿠버네티스는 클러스터를 관리하는 도구이다
출처
https://bcho.tistory.com/1258?category=731548
https://twofootdog.tistory.com/7?category=845779
'🌴 DevOps > Docker & K8s' 카테고리의 다른 글
쿠버네티스 구성요소(2/5) - Pod 구성 및 특징 (0) | 2020.04.20 |
---|---|
쿠버네티스 구성요소(1/5) (Object/Controller) (0) | 2020.04.19 |
쿠버네티스 아키텍쳐(2/2) (마스터노드/워커노드) (0) | 2020.04.19 |
쿠버네티스 기본개념(컨테이너 운영환경/Container Orchestration /k8s특징) (0) | 2020.04.19 |
Docker(도커) 기본개념(도커/컨테이너/VM/이미지/도커파일) (1) | 2020.04.13 |
docker는 Paas, k8s는 Saas (느낌) (1) | 2020.04.12 |