이전 포스팅에서 쿠버네티스의 마스터 노드와 워커 노드의 의미와 역할에 대해 알아보았다.
이번 포스팅에서는 쿠버네티스를 사용하기 위해 알아야 할 용어들에 대해 정리해보겠다!
쿠버네티스에서 컨테이너는 파드라는 단위로 관리된다.
파드란 컨테이너와 볼륨을 함께 묶은 것으로, 기본적으로 파드 하나가 컨테이너 하나지만 컨테이너가 여러 개인 파드도 있을 수 있다.
대규모 시스템이 여러 대의 서버로 구성되듯이 컨테이너도 여러 개로 구성하는 것이 기본이다.
다만 파드에 포함되는 볼륨은 기본적으로 함께 파드에 포함되는 컨테이너가 정보를 공유하기 위해 사용하는 것으로, 파드에 볼륨이 없는 경우도 많다.
이러한 파드를 모은 것이 서비스이다.
여기서 말하는 서비스는 여러 개의 파드를 이끄는 반장이라고 생각하면 된다!
서비스가 관리하는 파드는 모두 기본적으로 동일한 구성을 가지며, 구성이 다른 파드는 별도의 서비스로 관리한다.
📌 서비스는 여러 개의 파드를 이끄는 반장이므로 파드가 여러 개의 워커 노드에 걸쳐 동작하더라도 이들을 모두 관리한다.
서비스의 역할은 쉽게 말해 로드밸런서이다.
각 서비스는 자동적으로 고정된 IP 주소(cluster IP)를 부여받으며 이 주소로 들어오는 통신을 처리한다.
내부적으로는 여러 개의 파드가 있어도, 밖에서는 하나의 IP 주소만 볼 수 있으며,
이 주소로 접근하면 서비스가 통신을 적절히 분배해주는 구조이다.
예를 들어, 워드프레스 파드를 관리하는 반장은 워드프레스로 들어오는 요청이 한 파드에 몰리지 않게끔 적절히 분배한다!
🤚🏻 그러나 서비스가 분배하는 통신은 한 워커 노드 안으로 국한된다.
여러 워커 노드 간의 분배는 실제 로드밸런서 또는 인그래스가 담당한다.
이들은 마스터 노드/워커 노드도 아닌 별도의 노드에서 동작하거나 물리적 전용 하드웨어이다.
서비스가 요청을 배분하는 반장이라면 레플리카세트는 파드의 수를 관리하는 반장이다.
장애 드으이 이유로 파드가 종료됐을 때, 모자란 파드를 보충하거나 정의 파일에 정의된 파드의 수가 감소하면 그만큼 파드의 수를 실제로 감소시킨다.
💡 정리하자면 파드는 두 명의 반장에 의해 관리되는데,
파드에 요청을 배분하는 서비스 라는 반장과
파드의 수를 관리하는 레플리카세트 라는 반장에 의해 관리된다.
레플리카세트는 원하는 대로 다루기가 어렵기 때문에 단독으로 쓰이는 경우가 드물다.
따라서 레플리카세트는 디플로이먼트와 함께 쓰일 때가 많다.
디플로이먼트란 파드의 디플로이(배포)를 관리하는 요소로, 파드가 사용하는 이미지 등 파드에 대한 정보를 가지고 있다.
레플리카세트가 반장이라면, 디플로이먼트는 반장보다 위에 있는 상사이다.
앞서 알아본 파드, 서비스, 디플로이먼트, 레플리카세트 등을 리소스라고 한다.
리소스는 모두 합해 50여 종류가 있는데, 초보자라면 이 4가지 정도만 기억하면 된다!
실습을 진행하기 위해서 쿠버네티스를 설치해보도록 하겠다.
이전에 설치한 도커 데스크톱에는 초보자들도 쉽게 실습을 진행할 수 있도록 쿠버네티스가 친절하게도 포함되어 있다😊
잠깐🤚🏻
실습에 사용하는 소규머 쿠버네티스는 학습용이기 때문에 명령어나 정의 파일을 작성하는 연습은 가능하지만,
실제와 규모 면에서 너무 차이가 있기 때문에 실제 시스템과 실습용 소규모 시스템을 똑같이 생각해서는 안 된다!!!
도커 데스크톱을 실행시킨 후 메뉴의 Settings
를 선택한다.
그 중 Kubernete
탭에서 Enable Kubernetes
항목을 체크한다.
활성화를 시키고 나면 위와 같은 대화창이 나타나며 설치 여부를 묻는다.
Install
을 클릭하면 쿠버네티스 클러스터가 설치된 후 실행된다.
(조금 시간이 걸린다!)
쿠버네티스 클러스터까지 설치가 완료되면, 우측 하단에 위와 같이 쿠버네티스 아이콘이 뜨며 활성화 상태가 된다!
📌 쿠버네티스 삭제 또는 비활성화
쿠버네티스는 컴퓨터의 리소스를 소모하므로 사용하지 않을 때는 평소 작업에 지장을 줄 수 있다.
이런 경우에는Enable Kubernetes
항목의 체크를 해제해 쿠버네티스를 비활성화한다.
또한 쿠버네티스 클러스터를 초기화하려면Reset Kubernetes Cluster
버튼을 클릭하면 된다.