Kubernetes
: 구글을 중심으로 다양한 개발자들이 참가하는 표준 컨테이너 오케스트레이션 도구
: 클러스터링을 통해 분산된 호스트를 하나로 묶어 Docker 컨테이너를 관리
ㆍ주요기능
: 여러 호스트에서의 컨테이너 관리
: 컨테이너 간 네트워크 관리
: 컨테이너 부하분산
: 컨테이너 모니터링
: 무정지 업데이트
하드웨어 유닛
ㆍ노드
: 쿠버네티스 내 최소 단위의 컴퓨팅 하드웨어
ㆍ클러스터
: 효율적인 리소스 공유와 균형 배분을 위해 여러 노드를 묶은 그룹
: Cluster IP (클러스터 내 pod 끼리 통신하기 위한 private 주소)
: External IP (외부 클라이언트에서 연결하기 위한 public 주소)
소프트웨어 유닛
ㆍ컨테이너
: 하나 이상의 프로세스의 모음
ㆍ포드 (pod)
: 하나 이상의 컨테이너의 모음, 리소스 공유의 장점을 극대화 하기 위해 패키지로 묶여 있음
ㆍ레플리카셋 (Replica set)
: 쿠버네티스 클러스터 상에서 미리 지정된 pod를 작성하여 실행시켜두는 장치
: 실행중인 pod를 감시하여 장애발생 시 해당 pod를 삭제하고 새로운 pod 생성
: 필요한 수 만큼 pod를 유지시키는 설정
: pod의 수를 동적으로 변경하여 auto Scale 구성 가능
=> 여러 노드에 대한 pod의 갯수를 Replica set으로 정의하여 고가용성 유지
ㆍ디플로이먼트 (Deployment)
: 포드와 레플리카셋의 모음
: 레플리카셋의 탬플릿을 가지고 포드의 구성을 정의하여 이에 따르는 레플리카셋 생성
: 이를 통해 시스템 정지 없이 컨테이너 버전업 및 업데이트 가능
: Replica set의 작성 및 갱신 정의
ㆍDaemonSet
: 특정 pod를 반드시 배치하고 싶을때 사용하는 도구
ㆍJobs
: 일회성 프로그램을 pod에서 실행하기 위한 도구
ㆍCronJob
: pod 실행에 대한 예약을 관리하는 도구
ㆍIngress
: pod에 대한 통신을 제어하는 도구
: 서비스와 연결되어 통신 내용을 대신 수행 (proxy)
쿠버네티스 역할 별 용어
ㆍ마스터 서버
: 클러스터 내 컨테이너를 조작하기 위한 서버
: kybectl 명령어를 통해 클러스터 구성 및 리소스 조작
: 마스터 서버가 command로 부터 요청을 받아 명령 처리 수행
: 클러스터 내 노드의 리소스 사용 현황 확인 및 컨테이너 시작 노드 자동 선택
: 마스터 서버를 통해 모든 노드를 조작
ㆍ백엔드 데이터베이스 (etcd)
: etcd라는 분산 키 값 저장소를 통해 클러스터 구성 정보를 관리
: 클러스터를 구축하기 위한 설정 정보를 저장
: 시스템 구성에 따라 마스터 서버에 구축 가능
ㆍ노드
: 실제로 Docker 컨테이너를 작동시키는 서버
: 노드가 모여 클러스터가 되고 이를 마스터 서버가 관리
마스터 서버의 구조
ㆍAPI Server
: 쿠버네티스의 리소스 정보를 관리하기 위한 프론트엔드 REST API
: 각 컴포넌트로 부터 리소스 정보를 받아 etcd에 저장
: 컴포넌트에서 etcd의 정보에 액세스 하기 위한 API
: 사용자는 웹의 GUI툴이나 kubectl 명령을 통해 API Server에 액세스
: 인증 및 인가 기능
ㆍScheduler
: pod가 작동할 노드를 선택하고 제어하는 백엔드 컴포넌트
ㆍControl Manager
: 쿠버네티스 클러스터의 상태를 모니터링 하는 백엔드 컴포넌트
노드의 구조
ㆍkubelet
: pod 정의 파일에 따라 컨테이너를 실행하거나 스토리지를 마운트 하는 기능의 에이전트
: 노드의 상태를 정기적으로 모니터링 (상태 변화시 API Server에 전송)
클러스터 구성 정보작성 (Manifest)
: YAML 또는 JSON 형식으로 작성
: Jenkins와 같은 버전 관리 시스템과 연계 가능
Refference
: 완벽한 IT 인프라 구축을 위한 Docker (http://www.yes24.com/Product/Goods/64728692)
'Container > Kubernetes' 카테고리의 다른 글
다양한 쿠버네티스의 종류 (0) | 2023.06.04 |
---|---|
쿠버네티스를 공부하기 전에 알아야하는 기초지식 (0) | 2023.05.29 |
k3s vs minikube vs micro k8s 비교 (0) | 2023.01.11 |
k3s에 대해 알아보자 (0) | 2022.12.12 |
쿠버네티스 계열 컨테이너 오케스트레이션 차이 (k8s / k3s / minikube / kind / kubeadm) (0) | 2021.09.14 |