728x90
반응형
쿠버네티스를 사용하기 위해 알아야 할 용어들을 알아보자
쿠버네티스의 구성과 관련된 용어 파드
- 쿠버네티스에서 컨테이너는 파드(pod)라는 단위로 관리된다.
- 파드는 컨테이너와 볼륨을 함께 묶은 것으로, 기본적으로 파드 하나가 컨테이너 하나이다.
- 컨테이너가 여러 개인 파드도 있을 수 있다.
- 파드에 포함되는 볼륨은, 함께 포함되는 컨테이너가 정보를 공유하기 위해 사용하는 것으로,
파드에 볼륨이 없는 경우도 많다.
쿠버네티스의 구성과 관련된 용어 서비스
- 파드를 모은 것이 서비스(service) 즉, 여러 개의 파드를 이끄는 반장이라고 생각하면 된다.
- 서비스가 관리하는 파드는 모두 기본적으로 동일한 구성을 갖는다.
- 구성이 다른 파드는 별도의 서비스로 관리한다.
- 파드가 여러 개의 워커 노드(물리적 서버)에 걸쳐 동작하더라도, 이 모든 파드들을 관리한다.
- 서비스의 역할은 쉽게 말해 로드 밸런서(부하 분산장치)다.
- 각 서비스는 자동적으로 고정된 IP 주소를 부여받으며(cluster IP), 이 주소로 들어오는 통신을 처리한다.
- cluster IP는 서비스를 명시적으로 삭제하지 않는 한 바뀌지 않는다.
- 내부적으로는 여러 개의 파드가 있어도, 밖에서는 하나의 IP 주소(cluster IP)만 볼 수 있으며,
이 주소로 접근하면 서비스가 통신을 적절히 분배해 주는 구조다. - 하지만, 서비스가 분해하는 통신은 한 워커 노드 안으로 국한된다.
- 여러 워커 노드 간의 분배는 실제 로드 밸런서 또는 인그레스(ingress)가 담당한다.
쿠버네티스의 구성과 관련된 용어 레플리카세트
- 서비스가 요청을 분배하는 반장이라면 레플리카세트(ReplicaSet)는 파드의 수를 관리하는 반장이다.
- 정의 파일에 정의된 파드 수에 맞게, 파드를 보충하거나 파드 수를 감소시킨다.
- 레플리카세트가 관리하는 동일한 구성의 파드를 레플리카(replica)라고 부른다.
- 그래서, 파드의 수를 조정하는 것을 '레플리카의 수를 조정'한다고 하거나,
파드의 수를 결정하는 것도 '레플리카의 수를 결정'한다고 표현하기도 한다.
쿠버네티스의 구성과 관련된 용어 디플로이먼트
- 원하는 대로 다루기 어려워서 레플리카세트는 단독으로 쓰이는 경우가 드물고,
디플로이먼트(Deployment)와 함께 쓰일 때가 많다. - 디플로이먼트란 파드의 디플로이(배포)를 관리하는 요소로,
파드가 사용하는 이미지 등 파드에 대한 정보를 갖고 있다. - 레플리카세트의 상사가 디플로이먼트이다.
그 밖의 쿠버네티스 리소스
- 파트, 서비스, 레플리카세트, 디플로이먼트 등을 리소스(resource)라고 한다.
- 주요 쿠버네티스 리소스
리소스 이름 | 내용 |
파드(pods) | 파드. 컨테이너와 볼륨을 합친 것. |
파드템플릿(podtemplates) | 배포 시 파드의 형틀 역할 |
레플리케이션컨트롤러(replicationcontrollers) | 레플리케이션을 제어 |
리소스쿼터(resourcequotas) | 쿠버네티스 리소스의 사용량 제한을 설정 |
비밀값(secrets) | 키 정보를 관리 |
서비스어카운트(serviceaccounts) | 리소스를 다루는 사용자를 관리 |
서비스(services) | 파드에 요청을 배분 |
데몬세트(daemonsets) | 워커 노드마다 하나의 파드를 생성 |
디플로이먼트(deployments) | 파드의 배포를 관리 |
레플리카세트(replicasets) | 파드의 수를 관리 |
스테이트풀세트(statefulsets) | 파드의 배포 상태를 유지하며 관리 |
크론잡(cronjobs) | 지정된 스케줄대로 파드를 실행 |
잡(jobs) | 파드를 한번 실행 |
오브젝트와 인스턴스
- 파드나 서비스, 레플리카, 디플로이먼트를 각각 파드 오브젝트, 서비스 오브젝트처럼
'OO 오브젝트(object)'라고 부르기도 한다. - 이렇게 부르는 이유는, 이들 리소스가 마스터 노드에 위치한 데이터베이스인 etcd에 등록된 상태에서는 'OO 오브젝트' 형태로 관리되기 때문이다.
- 앞서 이야기 했듯이, 쿠버네티스의 정의 파일 내용은 etcd에 등록돼 관리된다.
- 쿠버네티스는 이 etcd에 등록된 내용을 따라 실제 파드나 서비스를 생성하며,
이렇게 생성된 것을 인스턴스(instance)라고 한다. - 즉 DB에 오브젝트로 등록된 정보를 기초로 인스턴스를 실제로 생성하는 것이다.
쿠버네티스의 종류
- 쿠버네티스는 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)이라는 단체에서 제정한 표준이다.
- 본래 구글에서 개발됐지만 구글 등의 회사가 CNCF를 조직하고 이 재단에 쿠버네티스를 기부해 개발이 오픈소스로 전환되면서 급속하게 보급됐다.
- CNCF도 쿠버네티스를 만들고 있지만, 관리 기능을 강화한 버전이나, 크기를 줄인 버전 등 쿠버네티스의 규격을 따른 서드파티 소프트웨어가 여럿 나오고 있다.
- 특히 이 중에서도 AWS나 애저, GCP 같은 클라우드 서비스에서는
자사 서비스에 맞춰 커스터마이징된 쿠버네티스를 제공한다. - 이들 SW는 서로 호환되는데, 이들 중 호환성이 검증된 SW나 서비스에는 'Certified Kubernetes'인증을 부여해 공식 웹 사이트에서 소개하고 있다.
어떤 종류의 쿠버네티스를 사용해야 할까?
- 원조 쿠버네티스를 채택하는 것 자체는 꽤 흔하지만, 이를 직접 구축하지는 않고 대게 외주를 준다.
- 로드 밸런싱을 위한 하드웨어, 각종 드라이버 상성 확인, 유지보수 등의 문제
- 쿠버네티스는 본래 대규모 시스템이 전제 조건이라, 마스터 노드와 워커 노드도 별도의 물리적 컴퓨터로 설정하지만 도커 데스크톱이나 Minukube에서는 컴퓨터 한 대에 마스터 노드와 워커 노드를 모두 구축한다.
- 하지만 도커 데스크톱이나 Minukube는 오직 학습용이라서, '쿠버네티스를 모두 익혔다'고 하기엔 무리가 있다.
- 쿠버네티스를 적용한 현장은 '안정성이 생명인' 시스템이거나 '사용량이 많은' 시스템이 대부분이다.
- 이런 현장에서 일하려면 도커나 쿠버네티스 외에도 다양한 지식이 필요하다.
- '명령어를 안다 != 쿠버네티스를 쓸 수 있다' 라는 의미이다.
1. 쿠버네티스 활성화
- 도커 설정 화면에서 [Kubernetes] 탭에서 [Enable Kubernetes] 항목을 체크한다.
2. 쿠버네티스 클러스터 설치
- [Kubernetes Cluster Installation]이라는 대화창이 나타나면, [Install]을 클릭해 설치하고, 설치되면 실행된다.
3. 준비완료
- 쿠버네티스 클러스터 설치가 끝나면 아래 화면과 같이 Kubernetes가 running 상태가 된다.
쿠버네티스 삭제 또는 비활성화
- 쿠버네티스는 컴퓨터의 리소스를 소모하므로 사용하지 않을 때는 평소 작업에 지장을 줄 수 있다.
- 'Enable Kubernetes'항목의 체크를 해제해 쿠버네티스를 비활성화한다.
- 또 쿠버네티스 클러스터를 초기화하려면 'Reset Kubernetes Cluster' 버튼을 클릭하면 된다.
728x90
'docker & kubernetes' 카테고리의 다른 글
쿠버네티스 사용하기 1 | Docker&Kubernetes 학습 33 (0) | 2024.12.18 |
---|---|
컨테이너 사용법 9 | Docker&Kubernetes 학습 32 (0) | 2024.12.14 |
컨테이너 사용법 8 | Docker&Kubernetes 학습 31 (1) | 2024.12.14 |
컨테이너 사용법 7 | Docker&Kubernetes 학습 30 (1) | 2024.12.11 |
컨테이너 사용법 6 | Docker&Kubernetes 학습 29 (3) | 2024.12.03 |