본문 바로가기
kubernetes

[kubernetes] 쿠버네티스 시작하기(minikube를 사용한 클러스터 구축)

by devjh 2021. 6. 13.
반응형

1. 쿠버네티스 클러스터 구축하기

클러스터를 구축하기에 앞서 쿠버네티스의 목적을 명확히 하고 가야됩니다.

 

쿠버네티스는 여러대의 컴퓨터(워커노드)를 control plane(마스터노드, 대장컴퓨터)에서 통제하여 애플리케이션(컨테이너기반)을 실행시키는게 첫번째 목적입니다.(쿠버네티스가 없으면 모든 컴퓨터에 접근해서 일일이 프로그램을 실행시키고 관리해야합니다.)

 

쿠버네티스를 왜쓰는지 알았으면 이제 클러스터를 구축해야합니다.

 

쿠버네티스 클러스터를 구축한다는것은 일을 할 컴퓨터(워커노드)들과 일을 시킬 컴퓨터(control plane, 마스터노드)를 연결하여 마스터한테 일을 시키면 일이 분산되어 진행되도록 구축하는 작업이라고 생각하시면 됩니다.

 

클러스터를 구축하는게 뭔지 알았다면,

이제 컴퓨터를 구해봅시다. 컴퓨터가 없다면 클라우드를 구축해야합니다.

당연히 복잡한 네트워크개념까지 알아야합니다.(필요시 rancher(도커이미지기반)나 kubeadm(직접깔기)을 이용해서 구축합니다.)

 

초보자는 쿠버네티스를 시작조차 못하게 됩니다.

 

이런 불편함을 해소시켜주기위해 minikube가 등장합니다.

 

minikube 라는 가상 클러스터를 구축해보겠습니다.

 

 

2. minikube 다운로드

https://minikube.sigs.k8s.io/docs/start/

 

minikube start

minikube is local Kubernetes

minikube.sigs.k8s.io

공식 사이트에 들어가서 minikube windows installer를 눌러 minikube를 다운받습니다.

다운로드가 완료됐다면 cmd 창을 열고 minikube version를 입력해줍니다.

$ minikube version
minikube version: v1.21.0

$ minikube start

해당 클러스터에는 쿠버네티스가 설정되어있어서 쿠버네티스를 사용할 수 있습니다.

 

이제 쿠버네티스를 사용할 수 있는 가상의 클러스터가 구축되었습니다.

 

3. kubectl 사용하기

 

그림을 보니 kubectl 에서 클러스터의 api server로 화살표가 그어져있습니다.

 

kubectl은 쿠버네티스를 쉽게 이용할수 있도록 만들어진 클라이언트 입니다.

 

http request를 날려서 클러스터 api서버에 요청을 보낼수도 있지만

 

대부분 kubectl을 사용하여 클러스터에 요청을 보냅니다.

 

서버와 클라이언트가 통신하려면 인증작업과 ip와 포트가 필요하지만 minikube는 kubectl을 쉽게 사용할수있게 미리 다 구축해놨습니다.(kubectl을 직접 깔면 .kube에 서버정보와 인증작업을 해줘야합니다.)

 

kubectl을 이용해 요청을 보내봅니다.

$ kubectl get nodes
NAME       STATUS   ROLES                  AGE   VERSION
minikube   Ready    control-plane,master   58m   v1.20.7

kubectl get nodes 명령어를 사용해 우리 클러스터의 node를 확이해봅니다.

 

우리클러스터는 node를 한개 가지고있고 그 노드의 이름은 minikube라고 설명해주고 있네요

 

이제 쿠버네티스를 직접 사용할 준비가 끝났습니다.

 

4. 여담

윈도우 도커(WSL2)에서도 쿠버네티스를 연습할수 있도록 쿠버네티스를 지원해줍니다.

미니큐브는 손쉽게 껏다켰다가 가능하고, 여러가지 유틸을 제공해주는 장점이있고

윈도우 도커는 도커엔진이 켜져있기만 하다면 쿠버네티스 클릭한번으로 보다 구축할 수 있게 도와줍니다.

반응형

댓글