쿠버네티스

yuJaeWu·2021년 3월 24일
0

TIL

목록 보기
63/68

쿠버네티스?

컨테이너를 이용한 배포는 편리하면서도 좋은 기술이다.
이는 근무환경에서도 그 편리함이 전해지는데
문제는 어떻게 배포를 하던간에 스트리밍이 되는 우리의 시스템을
관리하는것은 사람이 해야하는것.
잠을 자다가도 서버가 뻗으면 관리자는 잠에서 깨어나 업무의 연장을 경험해야한다.
이러한 일을 줄이기 위해서 컨테이너 관리 및 배포 오케스트레이션 까지 해주는
오늘의 주인공이 쿠버네티스이다.

작은 수의 컨테이너라면 수동으로 VM이나 하드웨어에 직접 배포하면 되지만, VM이나 하드웨어의 수가 많아지고 컨테이너의 수가 많아지면, 이 컨테이너를 어디에 배포해야 하는지에 대한 결정이 필요하다.

16 CPU, 32 GB 메모리 머신들에 컨테이너를 배포할때 컨테이너 사이즈가 2 CPU, 3 CPU, 8 CPU등 다양할 수 있기 때문에,
자원을 최대한 최적으로 사용하기 위해서 적절한 위치에 배포해야 하고,
애플리케이션 특성들에 따라서,
같은 물리 서버에 배포가 되어야 하거나 또는 가용성을 위해서
일부러 다른 물리서버에 배포되어야 하는 일이 있다.
이렇게 컨테이너를 적절한 서버에 배포해주는 역할을 스케쥴링이라고 한다.


쿠버네티스 기술과 방식

마스터: 쿠버네티스 노드를 제어하는 머신입니다. 여기에서 모든 태스크 할당이 시작됩니다.

노드: 할당된 태스크를 요청대로 수행하는 시스템입니다. 쿠버네티스 마스터가 이러한 노드를 제어합니다.

포드: 단일 노드에 배포된 하나 이상의 컨테이너 그룹입니다. 포드에 있는 모든 컨테이너는 IP 주소, IPC, 호스트 이름, 기타 리소스를 공유하며 포드는 기본 컨테이너에서 네트워크와 스토리지를 추상화합니다 이렇게 하면 클러스터에서 컨테이너를 더 쉽게 이동할 수 있습니다.

복제 컨트롤러: 이 컨트롤러는 클러스터에서 실행되어야 하는 동일한 포드 사본의 개수를 제어합니다.

서비스: 포드에서 작업 정의를 분리합니다 쿠버네티스 서비스 프록시는 클러스터에서 다른 위치로 이동한 경우든 교체된 경우든 서비스 요청을 적절한 포드로 자동 수신합니다.

Kubelet: 이 서비스는 노드에서 실행되며 컨테이너 매니페스트를 읽고, 정의된 컨테이너가 시작되어 실행 중인지 확인합니다

kubectl: 쿠버네티스의 명령줄 설정 툴입니다.

출처: redhat

profile
어중간한 성공보다는 확실한 실패가 좋다.

0개의 댓글

관련 채용 정보