본문 바로가기

Cloud/K8S

[K8S-Study-1-1] Minikube 사용법 정리

목적

  • 현실과 타협한다고 공부를 미루는 경우가 많아 강제로 스터디를 개설하려고 준비중이다.
  • 다행이 수요가 있는 것 같아서 우선 스터디 환경 자체를 구성하기 위한 조사를 진행하고 있다.
  • 여러 선택지가 많이 있었지만 Minikube를 하는 것이 가장 편할 것 같아 사용법을 정리하게 된다.
    • minikube
    • k3s
    • microk8s (Ubuntu)
    • kind (docker in docker 방식)
    • Rancher Desktop RKE

 

사용 환경은?

  • 나는 Mac M1 Chip / OS 버전은 Monteray를 사용하고 있다 (업데이트 귀찮아!)
  • 스터디를 진행하면서 Window는 부탁을 하려고 한다. (설치 방법 좀 정리해주세요.. ㅠ)

 

과연 깔끔하게 진행됐어?

  • 역시나 잘 되진 않았다..
  • Driver Docker 버전으로 진행을 했다.
    • 내부적으로 Docker in Docker로 진행하는 것 같은데 막히는 부분이 조금씩 생겼다.
    • 멀티 노드 부분에 대해서 좀 복잡하다
    → Network의 이동이나 분석을 모두 진행하고 싶었기 때문에 VM을 띄워서 하는 것으로 하자는 생각을 하였다.
  • Minikube 설치에 여러 Driver를 지원한다.
    • virtualbox 등은 아직 m1 chip에서 미흡한 점이 있었기 때문에 Qemu를 설치하는 방식으로 진행을 했다.
    • 필자는 Rancher Desktop을 잘 사용하기 때문에 Rancher Desktop이 도대체 어떻게 m1에서도 k8s를 동작하는지 분석했고 Qemu(+lima)를 사용한다는 것을 파악했기 때문이다.
      ps -ef | grep qemu
      
      # 혹시나 Rancher Desktop을 사용하시는 분이 있다면 아래 명령을 치면
      #.../darwin/lima/bin/qemu-system-aarch64 을 사용하는 것을 확인할 수 있다.

 

설치 방법 명령어 정리
brew install socket_vmnet
brew tap homebrew/services
# 재부팅 할 때, minikube 시작 때 까먹지 않고 다시 돌리는 게 좋다
# https://github.com/kubernetes/minikube/issues/7072 (이런 에러가 뜸)
HOMEBREW=$(which brew) && sudo ${HOMEBREW} services restart socket_vmnet

# 기본 설치 방법
minikube start --driver qemu --network socket_vmnet

 

이 외 고려사항은?

  1. 스터디를 진행하면서 Minikube를 구동 시키는 사용자 컴퓨터(host 컴퓨터)의 자원을 사용할 필요가 있을 것이란 생각이 들었다.
    • 검색 중 host.minikube.internal DNS로 지원한다는 것을 알았고 (/etc/hosts에서 확인 가능)
    • minikube로 접속하게 하는 bridge100의 gateway가 host의 인터페이스로 연결되어 있기 때문에, host에서 docker redis를 띄워놓고 접근이 잘 되는지 확인했다.

  1. Storage Class 및 공유 볼륨을 어떻게 처리해야할 것이 문제인 것 같다.
    1. NFS 관련한 Docker를 만들고 Storage Class에서 연결해서 사용하는 방식으로 가야할 것 같다.
      1. 더 좋은 방법이 없을까?

 

추후 진행 사항

  • 간단한 어플리케이션을 만들어야 겠다는 생각이 든다. (원래 내가 잘 쓰고 있는 Fastapi로 만들어볼까 한다)
  • 스터디를 어떻게 진행할까 고민 중이다. (웬만하면 실전 사례들로 하고 싶어서 이전부터 지금까지 모았던 내용들을 좀 정리해야할 것 같다)
  • 아마 스터디 하는 사람에게 공유하겠지만 나도 K8S의 거의 초보자 이기 때문에 (초기 구축만 진행하고 운영은 안해본 타입) 같이 열심히 해보려고 한다.

 

728x90
반응형