본문 바로가기

클라우드

컨테이너 기술의 발전과 minikube 기본 명령어

728x90

본 포스팅 범위

컨테이너 기술의 발전, 배포 방식 변화( 전통적-가상화-컨테이너 배포)

도커와 쿠버네티스, 그리고 실습 위한 설치 프로그램(Docker for Desktop, kubectl, kustomize, minikube)

그리고 minikube 기본 명령어


컨테이너 기술의 발전, 배포 방식 변화

요즘 IT 최신기술은 컨테이너 기술이다. 서비스를 어떻게 효율적으로 운영할 것인가의 물음에서 시작해 컴퓨팅 자원의 효율성 측면에서 가상머신, 가상화 기술이 나왔다. 

가상화 발전 과정, 출처 : IT위키

1) 애플리케이션을 물리 서버에서 실행하는 전통적 배포 방식. 물리 서버 하나에서 여러 애플리케이션 실행시 리소스를 과다 사용하는 인스턴스가 다른 애플리케이션의 성능에 영향을 준다.

 

2) 가상화 배포. 단일 물리 서버의 CPU에서 여러 가상 시스템(VM) 실행. VM간 애플리케이션을 격리하고 애플리케이션 간 정보를 액세스할 수 없기에 일정 수준의 보안성을 제공한다. 리소스를 보다 효율적으로 활용 가능하며 애플리케이션 추가나 업데이트, 하드웨어 비용 절감이 가능해 더 나은 확장성을 제공한다.

 

3) 컨테이너 배포. 컨테이너는 VM과 유사하지만 OS를 공유하기 때문에 각각의 컨테이너가 보다 가볍다. 도커가 컨테이너를 작성해 오버헤드가 작다.

 

2) 가상화 배포, 3) 컨테이너 배포와의 차이 

기존 가상 머신과의 차이, 출처 : IT위키

 

 

도커와 쿠버네티스, 그리고 실습 위한 설치 프로그램

도커 : 리눅스 컨테이너 관리 기술. 

쿠버네티스 : 컨테이너 오케스트레이션 시스템

 

 

실습하려면 리눅스 환경에서 Docker for Desktop, kubectl, customize, minikube 를 설치해야 한다.

Docker for Desktop : 윈도우, 맥 OS에서 사용가능토록 경량 가상화 기술 사용한 도커. docker, docker-composer  포함

kubectl : 쿠버네티스 API서버와 통신해 사용자 명령을 전달할 수 있는 CLI(Command Line Interface) 도구

kustomize : 쿠버네티스의 매니페스트 파일을 효율적 관리할 수 있도록 도와주는 도구

minikube : 가상환경에 복잡한 쿠버네티스 클러스터 구성 작업을 쉽게 구성해 쿠버네티스 학습 환경으로 활용 가능. 실제 운영환경에선 사용하기 어려움. 드라이버(driver)를 선택해 원하는 가상환경(docker, podman, virtualbox, parallels, vmware, hyperkit 등)에서 구성 가능함

 

 

minikube 기본 명령어

$ minikube status : 쿠버네티스 클러스터 상태확인

$ minikube pause : 쿠버네티스 클러스터 일시중지

$ minikube stop : 쿠버네티스 클러스터 중지

$ minikube unpause : 쿠버네티스 클러스터 재개

$ minikube delete : 쿠버네티스 클러스터 삭제

 

 

minikube 기본 사용법

$ minikube addons list : minikube 애드온 목록 확인 

$ minikube addons enable [addon] : minikube 애드온 활성화

$ minikube addons disable [addon] : minikube 애드온 비활성화

$ minikube ssh : 쿠버네티스 클러스터 노드에 SSH 접속

$ minikube kubectl ... : 쿠버네티스 클러스터 버전과 대응되는 kubectl 사용


패스트캠퍼스 박병진 강사님 강의 중 중요하다고 생각되는 부분을 정리합니다. 개인적 관점이 추가될 수 있습니다.

728x90