[一日30分 인생승리의 학습법] Windows 10에 Minikube 설치하기

1. [제어판] > [프로그램 제거] > [Windows 기능 켜기/끄기] 를 선택하고 아래 그림과 같이 [Hyper-V]를 선택하여 설치한다.

 

 

2. 다음 사이트에서 Docker를 내려받아 설치한다.

 

https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe

 

 

 

 

 

3. 다음 사이트에서 Kubectl.exe 파일과 Minikube 최신 파일을 내려받아 폴더를 생성하고 저장한다.

 

 

https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows

 

위의 사이트에서 글을 쓰는 현재 최신 버전은 1.17.4이므로 내려받기 주소는 다음과 같다.

 

https://storage.googleapis.com/kubernetes-release/release/v1.17.4/bin/windows/amd64/kubectl.exe

 

 

 

https://github.com/kubernetes/minikube/releases

 

위의 사이트에서는 minikube-windows-amd64.exe 파일을 내려받아 minikube.exe로 이름을 변경한다.

 

 

4. 동일한 폴더에 저장한 후 Path를 지정하여 개발에 용이하게 사용할 수 있도록 설정한다.





 

 

 

 

5. 윈도우 버튼에서 [Windows 관리도구] > [Hyper-V 관리자] 메뉴를 클릭한다.

 

Hyper-V 관리자에서 Docker Desktop 설치 시에 자동으로 생성된 DESKTOP-xxxxx 가상머신이 생성되어 있는 것이 보인다. 

 

 

 

 

메모리 부족으로 minikube가 실행되지 않을 경우, 모든 가상 머신과 가상 컴퓨터를 삭제한 후 minikube start를 다시 실행한다.

 

 

 

6. 명령 프롬프트를 관리자 권한으로 실행하고 다음 명령어를 이용하여 Minikube를 실행한다. Hyper-V 관리자에서 아래와 같이 minikube 가상머신이 생성된다.

 

minikube start --vm-driver=hyperv --hyperv-virtual-switch="Default Switch" --cpus=4 --memory=4096

 

 

 

 

7. Minikube에서 Docker 데몬을 재사용하기 위해 다음과 같이 명령어를 수행한다. 로컬에서 빌드된 이미지를 Minikube가 사용할 수 있도록 환경을 설정한다.

   Windows 10의 PowerShell을 관리자 모드로 실행하여 다음과 같이 명령어를 실행한다

 

minikube docker-env

minikube docker-env | Invoke-Expression

 

 

 

8. 다음 명령어를 실행하여 설치가 제대로 이루어졌는지를 확인한다.

 

>  kubectl version --client

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"windows/amd64"}

 

 

 

 

9. Docker settings를 선택하여 다음과 같이 설정한다.

 

'Expose daemon on tcp://localhost:2375 without TLS' 체크를 해지한다.

 

 


Windows Build 버전이 1907인 경우 'experimental'값을 true로 설정한다.

 


Kubernetes에서 'Enable Kubernetes'와 'Deploy Docker Stacks to Kubernetes by Default'를 체크한다.
 

 

 

 

 

 

10. 다음 명령어를 실행하여 대시보드를 실행한다. 

 

> minikube dashboard

 

minikube dashboard에서 Namespace나 Persistent Volume을 생성할 때 좌측 중간의 Namespace가 default로 설정되어 있으면 다음과 같이 오류가 발생한다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

"the server could not find the requested resource"

 

이 오류를 해결하기 위해서는 Namespaces를 [all namespaces]로 지정하고 Namespace나 Persistent Volumes를 생성한다. 

 

 

 

 

 

11. Kubernetes를 삭제하려면 다음과 같이 실행한다.

 

> minikube delete

 

 

12. Eclipse를 실행하여 [Help] > [Install New Software] 를 선택한다. Work with에서 '<ECLIPSE_VERSION>">https://download.eclipse.org/releases/<ECLIPSE_VERSION>'을 선택하고 설치항목 중 [General Purpose Tools] > [Docker Tooling]을 선택하여 설치한다.

 

 

 

 

13. 설치가 완료되면 Eclipse Perspective에서 Docker Explorer를 선택하여 Docker 개발 Perspective를 활성화 한다.

 

 

 

14. Windows PowerShell에서 아래와 같이 명령어를 수행하여 DOCKER_HOST와 DOCKER_CERT_PATH 를 확인한다.

 

> minikube docker-env

 

$Env:DOCKER_TLS_VERIFY = "1"

$Env:DOCKER_HOST = "tcp://172.18.46.99:2376"

$Env:DOCKER_CERT_PATH = "C:\Users\joseph\.minikube\certs"

$Env:MINIKUBE_ACTIVE_DOCKERD = "minikube"

# To point your shell to minikube's docker-daemon, run:

# & minikube -p minikube docker-env | Invoke-Expression

 

 

15. Eclipse의 Docker Explorer에서  를 클릭한다.

 

 

 

16. Connection Name은 여러분이 임의로 입력한다. [Use custom connection settings] 체크박스를 선택하고 [TCP Connection] 라디오 박스를 선택하고 URI에는 위의 DOCKER_HOST 값을 입력하고 [Enable authentication] 체크박스를 선택한후 [Browse] 버튼을 선택하여 DOCKER_CERT_PATH의 .minikube 폴더를 선택한다. [Test Connection]을 클릭하면 연결을 테스트 할 수 있다.

  

 

 

 

 

17. 아래 그림과 같이 localhost가 아닌 우리가 생성한 Minikube Docker Repository의 Images 폴더에서 blog-app:latest와 mysql:latest 이미지를 생성한다.

 

 

 

이때 blog-app:latest 이미지를 생성할 때 Spring-Blog-Jpa의 application.properties 파일의 spring.datasource.url을 다음과 같이 localhost로 입력한다. 도커 이미지가 동일한 Pod안에 생성되면 localhost로 연결될 수 있다.

 

jdbc:mysql://localhost:3306/test?characterEncoding=utf8&serverTimezone=Asia/Seoul

 

 

18. minikube dashboard에서 다음의 yaml 파일을 생성하여 Kubernetes Pod를 생성할 수 있다.

 

apiVersion: v1

kind: Pod

metadata:

  name: blog-system

spec:

  containers:

  - name: blog-app

    image: blog-app:latest

    imagePullPolicy: Never # 로컬에서 생성한 이미지를 호출하기 위해 imagePullPolicy를 Never로 설정한다.아니면 Docker Hub에서 이미지를 내려받으려 시도한다.

    ports:

      - containerPort: 8080

    args: ["-t", "-i"]

    link: blog-mysql

  - name: blog-mysql

    image: mysql:latest

    env:

      - name: MYSQL_ROOT_PASSWORD

        value: password

      - name: MYSQL_PASSWORD

        value: password

      - name: MYSQL_DATABASE

        value: test

    ports:

      - containerPort: 3306

 

[출처] https://m.blog.naver.com/gladiator67/221804292859

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1038 git 에서 https repository 연결시 SSL 인증서 오류 해결법 file 졸리운_곰 2021.08.27 900
1037 [GIT] Conflict(충돌) 났을 때 강제로 Pull 하기. 졸리운_곰 2021.08.24 86
1036 [一日30分 인생승리의 학습법] How to Run : Linux Containers on Windows Server 2019 file 졸리운_곰 2021.08.07 98
1035 [一日30分 인생승리의 학습법] [Tensorflow] Serving이용하여 REST API 만들기 file 졸리운_곰 2021.08.07 90
1034 [一日30分 인생승리의 학습법] Amazon SageMaker는 처음이지? 누워서 머신러닝 학습부터 배포까지 file 졸리운_곰 2021.08.05 99
1033 [一日30分 인생승리의 학습법] Apache Beam (Dataflow)를 이용하여, 이미지 파일을 tfrecord로 컨버팅 하기 file 졸리운_곰 2021.08.04 94
1032 [一日30分 인생승리의 학습법] [GCP] Apache Beam 사용하기 file 졸리운_곰 2021.08.04 94
1031 [一日30分 인생승리의 학습법] Apache Beam, Apache Airflow, Apache Atlas 설명 졸리운_곰 2021.08.04 89
1030 [一日30分 인생승리의 학습법] 블레이저 웹어셈블리 (web assembly, WASM_ Awesome Blazor ) 놀라운 오픈소스 리스트 (open source) file 졸리운_곰 2021.08.04 5267
1029 MarkDown 사용법 총정리 file 졸리운_곰 2021.07.29 139
1028 [一日30分 인생승리의 학습법] [JWT/JSON Web Token] 로그인 / 인증에서 Token 사용하기 file 졸리운_곰 2021.07.24 77
1027 [一日30分 인생승리의 학습법] JWT(JSON Web Token)을 이용한 API 인증 - #1 개념 소개 file 졸리운_곰 2021.07.24 85
1026 [一日30分 인생승리의 학습법] XPath 란 무엇입니까? file 졸리운_곰 2021.07.24 66
1025 [一日30分 인생승리의 학습법] XPATH 사용법·작성법 file 졸리운_곰 2021.07.24 84
1024 [Git] Github에 잘못 올라간 파일 삭제하기 졸리운_곰 2021.07.13 105
1023 [一日30分 인생승리의 학습법]AI 한국어 자연어 처리 데이터셋 목록 file 졸리운_곰 2021.07.10 82
1022 [一日30分 인생승리의 학습법] 기계독해, MRC란 무엇일까 file 졸리운_곰 2021.07.10 99
1021 [一日30分 인생승리의 학습법] 웹어셈블리를 활용한 유망한 프로그래밍 언어 프로젝트 10가지 졸리운_곰 2021.07.02 66
» [一日30分 인생승리의 학습법] Windows 10에 Minikube 설치하기 file 졸리운_곰 2021.06.27 90
1019 [一日30分 인생승리의 학습법] 윈도우2016 서버에 Docker 설치하며 겪은 시행착오 기록 file 졸리운_곰 2021.06.26 77
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED