1) minikube 란?
쿠버네티스를 로컬 환경에서 사용할 수 있게 만든 쿠버네티스의 가벼운 구현체
쿠버네티스 클러스터를 배포하고 관리하는 오픈소스
mini + kube의 합성어
로컬 컴퓨터에서 단일 노드 쿠버네티스 클러스터를 실행하여 애플리케이션을 개발, 테스트 및 배포를 쉽게 할 수 있고, 단일 머신에서 다중 노드 쿠버네티스 환경을 시뮬레이션하여 다양한 쿠버네티스 기능 및 구성을 실험할 수 있음.
구조: 로컬 머신 위에 vm 위에 하나의 노드
minikube가 여러 driver를 제공
driver를 선택해서 쿠버네티스 node를 어떤 환경으로 구성할지 선택할 수 있음 ex) vm, 가상머신 기반 클러스터 구성
도커 드라이버로 도커 컨테이너 기반 쿠버네티스 클러스터 노드 역할을 수행하도록 해서 싱글 노드로 구성하게 만들어 주는 것
2) Kubernetes와의 차이점
개발자들은 Kubernetes를 "개발을 촉진시키고 운영을 간소화하는 용도로 리눅스 컨테이너의 클러스터를 단일 시스템으로 관리하는 것"으로 표현한다. 쿠버네티스는 도커 컨테이너의 오픈소스 오케스트레이션 시스템이다. 이는 컴퓨팅 클러스터의 노드에 대한 스케줄링을 처리하고 워크로드를 능동적으로 관리하여 해당 상태가 사용자가 선언한 의도와 일치하도록합니다.
반면에 minikube는 "로컬 쿠버네티스 엔진"으로 구체화 된다. 이는 maxOS, 리눅스 그리고 윈도우에 로컬 쿠버네티스 클러스터를 구축한다. 목표는 로컬 Kubernetes 애플리케이션 개발을 위한 도구가되고 모든 Kubernetes 기능을 지원하는 것입니다.
3) Kubernetes 특징
최소 세 개의 노드(마스터, 노드1, 노드2)가 있어야 실행 가능
가볍고 간단해서 접근성이 좋음
다중 클라우드 환경, 공용, 사설 또는 하이브리드 용으로 구축
모듈화 되어 있고, 모든 구성 요소를 쉽게 교체할 수 있도록 설계되어 있음
4) 미니큐브 특징
단일 노드로 실행 가능
로컬 시스템에서 쉽게 설치 가능
리눅스, 맥 OS, 윈도우 지원 가능
설치 파일 이외에도 각 OS가 지원하는 패키지 매니저를 활용하여 편리하게 설치할 수 있음
모듈화 되어 있고 모든 구성 요소를 쉽게 교체할 수 있다.
LoadBalancer: minikube service 명령어를 통해 해당 서비스를 접근할 수 있게 하는 타입(서비스에 접근할 수 있도록 외부 IP 주소가 프로비저닝 함)
Multi-cluster: 접근 관리
Kubernetes | Minikube | |
노드 수 | 최소 3개 | 1개 가능 |
사용하는 회사 | Google, Slack, Shopify | Kalibrr, CommonBond, Fivestars |
5) 용어 정리
Kubelet: 노드를 관리하고 쿠버네티스 컨트롤 플레인과 통신하는 에이전트. 컨테이너를 직접 사용하는 것이 아닌 Pod 감싸서 사용
CLI: 클러스터에 대해 시작, 중지, 상태 조회 및 삭제 등의 기본적인 부트스트래핑(bootstrapping) 기능을 제공
Kubectl: 쿠버네티스 클러스터를 제어할 수 있는 명령어 바이너리 (snap install kubectl —classic)
대시보드: 명령어에 적응할 수 있게 GUI 환경 제공하는
Rancher: 노드에서 애플리케이션을 배포하고 네임스페이스도 만들어낼 수 있는
proxy: 내/외부 통신 설정.
pod: 가장 작은 배포 단위. 전체 클러스터에서 고유한 IP 할당받아서 사용
ReplicaSet: 여러개의 pod를 관리. 생성하거나 기존 pod 제거해서 Replicas(원하는 수) 유지
클러스터: 쿠버네티스 운영의 가장 큰 단위
'학부연구생 > 학부연구생 실습' 카테고리의 다른 글
Tetragon 개념 (0) | 2024.11.25 |
---|---|
[Kali] 칼리 리눅스 설치하기 (3) | 2024.11.06 |
Ubuntu 20.04 리눅스 서버 timezone 변경 (0) | 2024.03.31 |
tetragon을 통해 시스템콜 확인 (0) | 2024.03.26 |
tetragon을 통해 nginx 메트릭 추출 (0) | 2024.03.19 |