• 티스토리 홈
  • 프로필사진
    알쓸개잡
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
알쓸개잡
  • 프로필사진
    알쓸개잡
    • 분류 전체보기 (92)
      • 스프링부트 (52)
      • AWS (5)
      • 쿠버네티스 (7)
      • 자바 (19)
      • 인프라 (0)
      • ETC (8)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      • 반응형
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • macOS (silicon) minikube 설치하기
        2023년 08월 24일
        • 알쓸개잡
        • 작성자
        • 2023.08.24.:44

        처음 kubernetes 를 접했을 때 어려운 부분은 실습 환경을 구성하는 일이다. minikube 는 로컬환경에서 kubernetes 를 실습할 수 있는 단일 클러스터 환경을 구성할 수 있는 도구입니다.  이번 포스팅에서는 macOS (silicon) 환경에서 minikube 를 설치하는 방법에 대해서 기록합니다.

         

        사전조건

        • 최소 2 CPU
        • 최소 2GB 메모리
        • 최소 20GB 디스크 공간
        • 인터넷 환경
        • Docker, QEMU, KVM, VirtualBox, VMWare 와 같은 컨테이너 혹은 가상머신 관리 도구
        • homebrew

        포스팅 작성 시점의 kubernetes 최신 버전은 1.28.0 입니다.

         

        설치

        minikube 설치 방법에는 설치 패키지를 다운로드 하여 설치하는 방식과 homebrew 를 통해서 설치하는 방법이 있습니다.

        설치패키지 다운로드 설치 방식

        $>curl -LO https://storage.google.apis.com/minikube/releases/latest/minikube-darwin-arm64
        $>sudo install minikube-darwin-arm64 /usr/local/bin/minikube

        위 명령은 minikube-darwin-arm64 설치 패키지를 다운로드 하여 /usr/local/bin/minikube 에 설치합니다.

         

        homebrew 를 이용한 설치 방식

        $>brew search minikube
        ==> Formulae
        minikube ✔       minised
        
        ==> Casks
        minitube
        $>brew install minikube

        작성 시점의 brew 를 통해서 minikube 설치 버전은 아래 링크에서 확인해 볼 수 있습니다.

        https://github.com/Homebrew/homebrew-core/blob/master/Formula/m/minikube.rb

        minikube 버전은 v1.31.2

        brew 를 통해서 minikube 를 설치한 경우 /opt/homebrew/Cellar/minikube/1.31.2 경로에 설치됨을 알 수 있습니다. 1.31.2 는 설치된 minikube 버전입니다.

        $>where minikube
        /opt/homebrew/bin/minikube
        $>ll /opt/homebrew/bin/minikube
        lrwxr-xr-x@ 1 admin  38  8 24 23:00 /opt/homebrew/bin/minikube -> ../Cellar/minikube/1.31.2/bin/minikube
        $>ll /opt/homebrew/Cellar/minikube/1.31.2
        total 528
        drwxr-xr-x@ 10 admin     320  8 24 23:00 .
        drwxr-xr-x@  3 admin      96  8 24 23:00 ..
        drwxr-xr-x@  3 admin      96  8 17 06:36 .brew
        -rw-r--r--@  1 admin  245838  8 17 06:36 CHANGELOG.md
        -rw-r--r--@  1 admin    1009  8 24 23:00 INSTALL_RECEIPT.json
        -rw-r--r--@  1 admin   11374  8 17 06:36 LICENSE
        -rw-r--r--@  1 admin    3898  8 17 06:36 README.md
        drwxr-xr-x@  3 admin      96  8 17 06:36 bin
        drwxr-xr-x@  3 admin      96  8 17 06:36 etc
        drwxr-xr-x@  4 admin     128  8 17 06:36 share

         

        kubectl 설치

        minikube 를 설치하면 기본적으로 [minikube kubectl --] command 를 통해 kubectl 을 사용할 수 있지만 별도로 kubectl 을 설치하는 것이 더 좋을 것 같습니다.

        별도로 kubectl 을 설치하는 것은 아래 포스팅을 참고하세요.

        2023.08.24 - [쿠버네티스] - macOS (apple silicon) 에 kubectl 설치하기

        minikube 에서 제공하는 kubectl 을 사용하려면 편의상 alias 를 지정하여 사용하는 것이 좋습니다.

        alias kubectl="minikube kubectl --"

         

        minikube 실행

        기존적인 실행은 아래와 같습니다.

        $>minikube start --driver=docker

        minikube 는 다양한 드라이버 구성을 지원합니다. macOS 의 경우에는 드라이버로 docker 를 권장합니다.

        minikube Drivers 를 참고 링크 남깁니다.

        docker 드라이버를 사용할 것이기에 docker 서버가 실행되어 있어야 합니다.

        docker 서버가 실행되어 있지 않은 상태에서 minikube 를 사용하면 아래와 같은 메시지가 발생합니다.

        $>minikube start --driver=docker
        😄  Darwin 13.4.1 (arm64) 의 minikube v1.31.2
        ✨  기존 프로필에 기반하여 docker 드라이버를 사용하는 중
        
        💣  Exiting due to PROVIDER_DOCKER_NOT_RUNNING: "docker version --format <no value>-<no value>:<no value>" exit status 1: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
        💡  권장: Start the Docker service
        📘  문서: https://minikube.sigs.k8s.io/docs/drivers/docker/

         

        docker 서버(docker desktop) 실행 후 minikube 를 실행합니다.

        $>minikube start --driver=docker
        😄  Darwin 13.4.1 (arm64) 의 minikube v1.31.2
        ✨  기존 프로필에 기반하여 docker 드라이버를 사용하는 중
        👍  minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
        🚜  베이스 이미지를 다운받는 중 ...
        🔄  Restarting existing docker container for "minikube" ...
        🐳  쿠버네티스 v1.27.4 을 Docker 24.0.4 런타임으로 설치하는 중
        🔗  Configuring bridge CNI (Container Networking Interface) ...
        🔎  Kubernetes 구성 요소를 확인...
            ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
        🌟  애드온 활성화 : storage-provisioner, default-storageclass
        🏄  끝났습니다! kubectl이 "minikube" 클러스터와 "default" 네임스페이스를 기본적으로 사용하도록 구성되었습니다.
        $>kubectl version
        Client Version: v1.28.0
        Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
        Server Version: v1.27.4

        kubectl version 명령을 통해서 kubernetes 설치 버전은 v1.27.4 임을 알 수 있습니다.

         

         

        설치 후 kubernetes 확인

        kubectl 명령을 통해서 kubernetes 자원을 확인해 볼 수 있습니다.

        $>kubectl get ns
        NAME                   STATUS   AGE
        default                Active   11h
        kube-node-lease        Active   11h
        kube-public            Active   11h
        kube-system            Active   11h
        kubernetes-dashboard   Active   3m6s
        $>kubectl get pod -n kube-system
        NAME                               READY   STATUS    RESTARTS        AGE
        coredns-5d78c9869d-zc94j           1/1     Running   1 (11h ago)     11h
        etcd-minikube                      1/1     Running   1 (11h ago)     11h
        kube-apiserver-minikube            1/1     Running   1 (11h ago)     11h
        kube-controller-manager-minikube   1/1     Running   1 (11h ago)     11h
        kube-proxy-fwwgn                   1/1     Running   1 (11h ago)     11h
        kube-scheduler-minikube            1/1     Running   1 (11h ago)     11h
        storage-provisioner                1/1     Running   3 (6m51s ago)   11h

        kubectl dashboard 명령을 통해서 웹 UI 기반 kubernetes 자원을 확인해 볼 수 있습니다.

        $>minikube dashboard
        🔌  대시보드를 활성화하는 중 ...
            ▪ Using image docker.io/kubernetesui/dashboard:v2.7.0
            ▪ Using image docker.io/kubernetesui/metrics-scraper:v1.0.8
        💡  Some dashboard features require the metrics-server addon. To enable all features please run:
        
        	minikube addons enable metrics-server
        
        
        🤔  Verifying dashboard health ...
        🚀  프록시를 시작하는 중 ...
        🤔  Verifying proxy health ...
        🎉  Opening http://127.0.0.1:58166/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...

         

        minikube help

         

        //minikube 에서 제공되는 명령어를 확인 할 수 있습니다.
        $>minikube help
        
        //minikube 명령어에 대한 help 정보를 확인 할 수 있습니다.
        $>minikube help start

         

         

        manage cluster

        //배포된 애플리케이션에 영향을 주지 않고 kubernetes 를 일시 중지합니다.
        $>minikube pause
        
        //일시 중시 상태를 해제합니다.
        $>minikube unpause
        
        //kubernetes 를 중지합니다.
        $>minikube stop
        
        //사용가능한 addon 리스트를 출력합니다.
        $>minikube addons list
        
        //이전 버전의 kubernetes 클러스터를 생성합니다.
        $>minikube start -p aged --kubernetes-version=v1.16.1
        
        //모든 minikube 클러스터를 삭제합니다.
        $>minikube delete --all

        지금까지 macOS(silicon) 에서 minikube 설치하는 방법을 알아보았습니다.

         

        minikube 공식 문서 링크 남깁니다.

         

        이 글을 읽으시는 분께 도움이 되었기를 바랍니다.

        저작자표시 비영리 변경금지 (새창열림)

        '쿠버네티스' 카테고리의 다른 글

        multipass를 이용하여 로컬 환경에 쿠버네티스 클러스터 구축하기  (0) 2024.07.04
        macOS (apple silicon) 에 kubectl 설치하기  (0) 2023.08.24
        쿠버네티스 pod graceful shutdown  (0) 2023.08.06
        port forward 명령으로 로컬에서 pod 접속하기  (0) 2023.08.04
        Release 상태의 PV 를 Available 상태로 변경하기  (0) 2023.07.30
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바