티스토리 뷰
도커와 쿠버네티스를 처음 사용해본다. 근데 몇 백 달러의 비용을 지불하거나(원래 클라우드 서비스가 블랙홀 같아서..) 직접 하드웨어를 구입해서 설치하는 것은 무리이다. 이에 쿠버네티스 서비스를 조그맣게(?) 내 노트북에 설치해서 이용해 볼 수 있도록 한 오픈소스 서비스들이 있다. 그 중 minikube를 통해서 기본적인 리소스 생성 등에 대해서 알아 볼 것이다.
그 전에 먼저 쿠버네티스의 몇 가지 특징에 대해서 알아보자.
선언형 인터페이스
쿠버네티스는 선언형 인터페이스를 선호한다. 말이 교과서적이라 맘에 안들지만, 쉽게 얘기하면 결과론적으로 'A와 같은 상태로 만들어줘'라고 선언하는 것을 kubenetes-native하다고 한다. 'A같은 상태가 되기 위해서 중간에 과정은 B, C를 거치고, D라는 예외가 나오면 E라는 액션을 해줘'와 같이 모든 명령을 선언하지 않아도 된다.
컨트롤 플레인(control plane)
쿠버네티스 클러스터는 컨트롤 플레인이라는 구성이 존재한다. 여러 개의 worker노드들을 관리하고 모니터링 하면서 클라이언트가 요청하면 그 요청에 맞는 worker노드를 스케줄링하고 전달하는 역할을 한다.
YAML
YAML은 데이터 직렬화(서비스 간에 데이터를 전송할 때 쓰이는 포맷으로 변환하는 작업)에 쓰이는 포맷 중 하나로, 쿠버네티스에 작업을 전달할 때 쓰는 양식이다. 자체적으로 validation을 수행하기 때문에, 인덴트 등을 철저하게 필터링한다.
Minikube 설치
$ curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64
$ sudo install minikube-linux-amd64 /usr/local/bin/minikube
설치는 정말 간단하다. 위의 두 줄만 입력하면 다운로드와 설치가 끝난다. 한 3초도 안걸린다.
가상머신 계정이 johanjun2로 바뀐 이유는 디스크를 다시 설치했기 때문이다. 안그래도 10GB로 초기 디스크를 설치했더니 계속 공간 부족 경고가 떠서 해결법을 찾고 있었는데, minikube는 최소 사양이 2GB 메모리여서 그냥 가상머신과 ubuntu를 다시 설치했다(메모리 2GB, 디스크 공간 40GB).
Kubectl 설치
쿠버네티스 서버에 요청을 간편하게 보내기위해서는 kubectl(쿠브 컨트롤)을 설치해주어야 한다. 아래의 명령어를 통해 간편하게 설치할 수 있다.
$ curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/kubectl
$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
쿠버네티스 서버 생성 전이라 아직 client 버전만 보인다.
$ minikube start --driver=docker
위 명령어를 사용하여 스타트를 해주었는데, cpu가 1개라고 시작이 안되는 것이다! 설마 또 가상머신을 다시 설치해야하는가.. 하는 충격에 빠져있었는데 다행히 VM을 종료한 후 설정에서 2개로 올려줄 수 있었다.
Pod 확인
다음 명령어를 통해서 pod 들이 잘 돌아가는 지 까지 확인해야 온전하게 잘 실행된다고 할 수 있다.
$ kubectl get pod -n kube-system
pod는 worker랑 비슷한 개념인 것 같은데, 기본적으로 생성된 pod들이 잘 돌아가고 있다면 minikube가 설치가 완료된 것이다.
'Study > MLOps' 카테고리의 다른 글
도커와 쿠버네티스 (5) - Pod와 Deployment (0) | 2021.12.22 |
---|---|
도커와 쿠버네티스 (3) - 도커 이미지 (0) | 2021.12.01 |
Building ML Pipelines 따라잡기 (6) - 모델 학습 (0) | 2021.11.30 |
도커와 쿠버네티스 (2) - 도커 설치 (0) | 2021.11.26 |
도커와 쿠버네티스 (1) - 개념과 실습환경 (0) | 2021.11.25 |
- Total
- Today
- Yesterday
- 스타트업
- 인공지능
- productmanager
- productowner
- 도커
- 머신러닝파이프라인
- 전처리
- mlpipeline
- nlp
- DDUX
- Oreilly
- productresearch
- 딥러닝
- Tennis
- docker
- container
- 파이프라인
- PO
- PM
- ML
- torch
- 자연어처리
- 쿠버네티스
- deeplearning
- 머신러닝
- pmpo
- Kubernetes
- MLOps
- dl
- Bert
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |