Minikube를 Windows 10(Hyper-V)에서 사용

6757 단어 Hyper-Vkubernetes
Minikube를 Windows 환경(Hyper-V)에서 움직일 기회가 있었으므로 정리해 둡니다.
「k8s 만져볼까…」라고 하는 분의 도움이 되면 다행입니다.

사전 준비


  • Windows 라이센스 확인
  • Windows 10 Home의 경우 Hyper-V를 사용할 수 없으므로 VirtualBox를 사용하여 Minikube를 이동하거나 Professional로 업그레이드하십시오.

  • BIOS 가상화 기능(VT-X/AMD-V) 활성화
  • 참고 기사

  • OS에 Hyper-V 설치
  • 참고 기사

  • Windows 'Hyper-V 플랫폼' 사용
  • 참고 기사


  • 이미 Docker for Windows를 사용하고 있는 환경이라면 아무것도 할 필요가 없다고 생각합니다.

    Hyper-V 설정 (외부 네트워크용 가상 스위치 추가)



    Hyper-V 관리자를 시작합니다.
  • 프로그램 > Windows 관리 도구 > Hyper-V 관리자
  • 또는 "파일 이름으로 실행"에서 virtmgmt.msc


  • 시작되면 "가상 스위치 관리자"를 선택하십시오.



    새 가상 네트워크 스위치 → 외부 → 가상 스위치 만들기로 외부 네트워크용 가상 스위치를 추가합니다.



    Docker for Windows를 이용하고 있는 경우는 「DockerNAT」라고 하는 이름으로 이미 가상 스위치가 등록되어 있기 때문에, 같은 이름으로 했습니다. 빨간색 테두리를 확인하는 것을 잊지 마십시오.



    Minikube 설치



    공식 절차 와 같이 가면 OK입니다. Chocolatey 도 제공되지만, 여기에서는 기본적인 방식으로.

    아래의 바이너리를 다운로드하고 나머지는 PATH가 통과 한 곳에 두는 것입니다. minikube-windows-amd64.exeminikube.exe 로 이름을 바꾸면 쉽습니다.
  • kubectl

  • 이번은 C:\minikube\ 이하에 배치해, 시스템 환경 변수로부터 패스를 통과했습니다.



    둘 다 exe 파일을 직접 다운로드하기 때문에 Windows smartscreen에 걸려 부팅이 실패 할 수 있습니다. exe 파일에는 다음과 같이 체크를 넣어두면 안심입니다.



    동작 확인



    공식 Quickstart 을 시도합니다.

    명령 프롬프트를 관리자 권한으로 시작하고 (참고 기사) , 가상 컴퓨터 드라이버로 "hyperv"를 지정하여 시작합니다. (무지정이면 virtualbox의 드라이버가 이용됩니다)
    c:\>minikube start --vm-driver="hyperv"
    Starting local Kubernetes v1.6.4 cluster...
    Starting VM...
    Moving files into cluster...
    Setting up certs...
    Starting cluster components...
    Connecting to cluster...
    Setting up kubeconfig...
    Kubectl is now configured to use the cluster.
    

    Hyper-V 관리자에게 "minikube"라는 이름으로 가상 머신이 추가되는지 확인할 수 있습니다.



    클러스터가 실행 중인지 확인합니다.
    c:\>kubectl config use-context minikube
    Switched to context "minikube".
    
    c:\>kubectl cluster-info
    Kubernetes master is running at https://192.168.11.222:8443
    
    To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
    

    여기까지 확인할 수 있으면, 나머지는 Miniqube Quickstart 와 같이 해 갑시다.
    c:\>kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
    deployment "hello-minikube" created
    
    c:\>kubectl expose deployment hello-minikube --type=NodePort
    service "hello-minikube" exposed
    
    c:\>kubectl get pod
    NAME                             READY     STATUS    RESTARTS   AGE
    hello-minikube-938614450-jl8ht   1/1       Running   0          51s
    
    c:\>minikube service hello-minikube --url
    http://192.168.11.222:32455
    

    표시된 URL( http://192.168.11.222:32455 )을 방문하여 아래와 같은 응답이 표시되면 OK입니다.
    CLIENT VALUES:
    client_address=172.17.0.1
    command=GET
    real path=/
    query=nil
    request_version=1.1
    request_uri=http://192.168.11.222:8080/
    
    SERVER VALUES:
    server_version=nginx: 1.10.0 - lua: 10001
    
    HEADERS RECEIVED:
    accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    accept-encoding=gzip, deflate, sdch
    accept-language=ja,en-US;q=0.8,en;q=0.6
    connection=keep-alive
    host=192.168.11.222:32455
    referer=http://google.co.jp/
    upgrade-insecure-requests=1
    user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
    BODY:
    -no body in request-
    

    종료하는 경우는 다음과 같은 느낌으로.
    // 仮想マシン停止
    c:\>minikube stop
    Stopping local Kubernetes cluster...
    Machine stopped.
    
    // 仮想マシン削除
    c:\>minikube delete
    Deleting local Kubernetes cluster...
    Machine deleted.
    

    도움이 되면 다행입니다.

    참고


  • Setting up Kubernetes on Windows10 Laptop with Minikube – Just Cloud
  • How to run Kubernetes on local machine (Docker for Windows) - The dawn of modern programmers
  • 좋은 웹페이지 즐겨찾기