쿠버네티스 마스터
안녕하세요. 명동교자입니다. 요즘 제가 관심있게 살펴보고 있는 분야는 쿠버네티스 입니다. 오늘부터 쿠버네티스를 공부하면서 배운 내용을 블로그에 정리해보려고 합니다. 오늘은 첫 시간으로 쿠버네티스 아키텍처에 대해서 살펴보겠습니다. 쿠버네티스는 마스터와 노드로 구성됩니다. 노드는 여러 개로 구성될 수 있으며 위 그림과 같이 서로 연결되어 있습니다. 쿠버네티스 마스터 쿠버네티스 마스터(Kubernetes Master)는 다음과 같은 여러 가지 기능을 제공합니다. 인증 및 인가 (Authentication & Authorization) RESTful API 엔트리 포인트 노드를 위한 컨테이너 배포 스케줄러 확장 및 복제 컨트롤러 클러스터 구성 정보 쿠버네티스 마스터는 위 그림과 같이 API 서버 (kube-apiserver), 스케줄러(kube-scheduler), 컨트롤러 관리자(kube-controller-manager), 프록시(kubu-proxy), 큐블렛(kubelet), 에티시디(etcd)로 구성되어 있습니다. kube-apiserver API 서버는 http나 https 기반 RESTful API를 제공합니다. 쿠버네티스 구성 요소간 허브 역할을 합니다. kube-scheduler 스케줄러는 어떤 노드에서 동작을 수행할지 컨테이너에 대한 선택 기능을 지원합니다. 컨테이너를 노드에 디스패치(dispatch) 및 연결하기 위한 우선순위를 다음의 항목을 통해 결정합니다. CPU 메모리 수행 중인 컨테이너 개수 kube-controller-manager 컨트롤러 관리자는 다음과 같은 클러스터의 운영 기능을 수행합니다. 노드관리 내부 정보 생성 및 업데이트 상태 변경 kube-proxy 프록시는 노드의 각 컨테이너를 위한 네트워크 프록시와 로드 밸런서를 제공합니다. 프록시는 kube-proxy 데몬을 시작한 후 리