pod라는 것에 의해 관리된다.
pod는 쿠버네티스에서 가장 작은 단위이다.
포드는 하나 이상의 애플리케이션 컨테이너와 이러한 컨테이너에 속한 모든 리소스를 호스팅한다.
마스터 노드에서 포드를 추가 삭제
포드안에 하나 혹은 여러개의 컨테이너가 있다.
워커 노드에 둘 이상의 포드가 실행되는게 일반적이다.
worker 노드에서 포드를 실행한다.
worker 노드는 컨테이너를 실행하는 쿠버네티스 내의 것이다.
worker 노드를 머신, 가상 인스턴스라고 생각할 수 있다.
마스터 노드에서 관리
내부에 포드 있다.
도커 설치해야함
kubelet이라는게 실행중..?
proxy는 쿠버네티스가 worker 노드에서 worker 노드의 pod 네트워크 트래픽의 제어를 설정하는 도구이다.
proxy는 기본적으로 pod가 인터넷에 연결할 수 있는지의 여부와 pod 및 그 내부에서 실행되는 컨테이너를 외부 세계에서 어떻게 접근할 수 있는지를 제어한다.
ex) pod의 컨테이너에서 웹 app을 실행하는 경우 사용자의 외부 트래픽이 컨테이너에 도달할 수 있도록 proxy를 구성해야 한다.
하나 이상의 worker 노드가 필요하다. 그렇지 않으면 pod, 컨테이너를 실행할 장소가 없기 때문이다.
쿠버네티스를 사용하여 컨테이너 및 pod를 동적으로 추가 및 제거하는 경우, 트래픽이 들어오고, 감소함에 pod는 쿠버네티스에 의해 사용 가능한 모드 worker 노드로 자동으로 배포된다.
워커 노드와 상호 작용하여 제어하는 컨트롤 센터이다.
쿠버네티스로 작업을 할 때 워커 노드, 포드와 직접 상호작용하지 않고 컨트롤 플레인이 대신한다.
마스터 노드는 다른 서버, 다른 리모트 머신이다.
마스터 노드는 마스터 노드에서 실행 중인 컨트롤 플레인을 갖고 있으며, 워커노드와, 워커노드 상에서 실행중인 포드와 상호작용한다.
마스터 노드는 클라우드 프로바이더 API에 명령을 보내, 그 클라우드 프로바이더에게 클라우드 프로바이더의 특정 리소스를 생성하고 원하는 상태를 그 클라우드 프로바이더에 복제하도록 지시한다.
API서버 실행중 -> 워커 노드에서 실행되는 kubelet 서비스에 대한 카운터 포인트인 마스터 노드 머신에서 실행되는 간단한 서비스이다.
-> 워커와 마스터 노드간의 통신을 위한 카운터 파트다.
스케쥴러 -> 포드를 관찰하고, 새 포드가 생성되어야 하는 워커 노드를 선택하는 일을 담당
kube-controller-manager -> 워커 노드 전체를 감시하고 제어하며 적당한 수의 포드를 가종 중에 있는지 확인하는 역할을 한다. 스케줄러 및 API 서버와 긴밀하게 연동된다.
cloud-controller-manager -> kube와 동일한 작업을 수행하지만, 클라우드 프로바이더에 따라 다르다.
포드 생성
포드에서 컨테이너를 실행, 스케일링, 모니터링 및 교체에 도움
클러스터와 노드 생성
쿠버네티스 API 서버, kubelet 및 다양한 서비스를 설치해주지 않기 때문에 우리가 직접 설치해야 한다.
자원을 생성하지 않는다.
클러스터
-> 노드 머신, 마스터, 워커 노드 배포 혹은 원하는 최종 상태를 구성하는 모든 것의 컬랙션 세트.
노드
-> 하나 또는 여러 개의 포드를 호스팅하는 특정 하드웨어 용량을 가지며 클러스터와 통신하거나 클러스터 내에서 통신하는 물리적인 머신 또는 가상 머신이다.
-> 모든 워커 노드를 걸쳐 포드를 관리하는 컨트롤 플레인을 가진 마스터 노드가 있다.
-> 다른 노드 타입으로 워커 노드도 가지고 있다.
-> 이들은 포드를 호스팅하는 실제 머신이며, 앱 컨테이너와 이러한 컨테이너에 필요한 리소스를 실행한다.
포드
-> 애플리케이션 컨테이너와 요구 리소스가 포드라고 하는 유닛으로 결합됨을 의미한다.
-> 포드는 shell이다.
-> 컨테이너를 시작하며 특정 컨테이너를 관리한다.
-> 마스터 노드에 의해 관리된다.
-> 포드가 생성되는 것은 포드에서 컨테이너를 실행하는 것과 같다.
컨테이너
-> 일반 도커 컨테이너
-> 포드가 컨테이너를 실행한 =>포드가 내부적으로 docker run 명령을 실행한다는 것을 의미한다.
서비스
-> 논리적 세트
-> 고유한 포드 및 컨테이너에 독립적인 IP 주소를 가진 포드 그룹이다.
-> 서비스는 포드에 접근하는데 중요하며, 따라서 그 안에 있는 컨테이너도 중요하다.
-> 프록시와 관련이 있다.
-> 서비스는 쿠버네티스 세계에서 특정 포드를 외부 세계에 노출하여 특정 IP 주소 또는 도메인으로 특정 포드에 ㅇ녀결할수 있도록 하는 용어일 뿐이다.