#1. 미니큐브 설치하기

정은경·2020년 1월 28일
0

GCP의 쿠버네테스를 사용하기 위한 미니큐브 설치하기

1. 노트북의 가상환경 지원 체크

(base) marie@MarieJungui-MacBookPro:~ » sysctl -a | grep -E --color 'machdep.cpu.features|VMX'
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
(base) marie@MarieJungui-MacBookPro:~ »

2. minicube 설치하기

2-1. 실제 나의 실행 화면

(base) marie@MarieJungui-MacBookPro:~ » kubectl version --client
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
(base) marie@MarieJungui-MacBookPro:~ »
(base) marie@MarieJungui-MacBookPro:~ » hyperkit -version
hyperkit: v0.20190201-11-gc0dd46

Homepage: https://github.com/docker/hyperkit
License: BSD

(base) marie@MarieJungui-MacBookPro:~ » brew install minikube
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
apollo-cli     eureka         git-gui        gotop          tty-share
dynet          faiss          gitbatch       mmctl          wasmer
==> Updated Formulae
ncurses ✔                 gmic                      openjdk
vim ✔                     gmt                       operator-sdk
aircrack-ng               gmt@5                     p11-kit
akamai                    gnu-getopt                packmol
alexjs                    gnu-sed                   pandoc-crossref
alp                       govc                      parallel
alpine                    gradle                    parallelstl
amtk                      grafana                   passenger
angular-cli               grakn                     pcb
ansible                   graph-tool                pcl
antlr                     groovy                    pdal
antlr4-cpp-runtime        gspell                    petsc
apibuilder-cli            gssdp                     petsc-complex
armadillo                 gupnp                     pgrouting
ask-cli                   h3                        php
astrometry-net            haproxy                   php@7.2
atlantis                  hdf5                      php@7.3
auditbeat                 healpix                   phpstan
autopep8                  helmsman                  picard-tools
aws-cdk                   hey                       pkcs11-helper
aws-iam-authenticator     hledger                   plantuml
aws-okta                  hlint                     pmd
aws-sdk-cpp               homebank                  pnetcdf
awscli                    hub                       prestosql
balena-cli                hugo                      procs
bandwhich                 imagemagick               pspg
baresip                   imagemagick@6             pulumi
bcal                      interactive-rebase-tool   purescript
benthos                   jenkins                   pyinvoke
bibtexconv                jenkins-job-builder       q
bind                      jetty                     qmmp
bison                     jfrog-cli-go              qpdf
blis                      jpeg                      quickjs
bnd                       juju                      radare2
borgmatic                 just                      reminiscence
broot                     k3d                       rke
byobu                     kakoune                   root
byteman                   kapacitor                 rtags
calicoctl                 kawa                      ruby-build
ccfits                    kcov                      salt
cedille                   kepubify                  sbt
certbot                   kitchen-sync              scc
cfitsio                   kubeless                  scummvm
cfn-lint                  kubernetes-cli            serverless
cfr-decompiler            libbi                     sfcgal
cgal                      libde265                  sile
cglm                      libexosip                 siril
cgrep                     libmatio                  sk
cheat                     libosip                   skaffold
checkstyle                libphonenumber            skopeo
cimg                      librealsense              sn0int
clojure                   libsecret                 snapcraft
cmake                     libsigc++                 snappy
composer                  libtensorflow             solr
consul-template           libtensorflow@1           sourcekitten
contentful-cli            libtorch                  spdlog
cpl                       libxlsxwriter             squid
cppunit                   libxml++3                 starship
crc                       llvm                      stockfish
csound                    logstash                  swagger-codegen
csvq                      lxc                       swiftformat
cypher-shell              make                      sxiv
deno                      manticoresearch           sync_gateway
dependency-check          maxima                    taskell
devspace                  maxwell                   tbb
direnv                    mbedtls                   telegraf
dnscontrol                meson                     teleport
docker-compose            metricbeat                termtosvg
duplicity                 micronaut                 terraform
dvc                       midnight-commander        terraform-docs
elasticsearch             mill                      terrahub
elixir                    minetest                  testssl
ensmallen                 minio                     topgrade
erlang                    minio-mc                  traefik
erlang@20                 mk-configure              translate-toolkit
erlang@21                 mkl-dnn                   triton
ethereum                  mlpack                    tundra
exploitdb                 mongo-c-driver            typescript
faas-cli                  mono                      uftp
fastlane                  monolith                  upx
fastmod                   mpd                       vault
ffmpeg                    mpv                       vault-cli
firebase-cli              msitools                  vert.x
flann                     nativefier                vips
flow                      nco                       vnstat
flyway                    ncview                    vtk
folly                     nebula                    vulkan-headers
frugal                    netcdf                    wabt
futhark                   netlify-cli               wcslib
gatsby-cli                nginx                     whistle
gcab                      nifi                      whois
gdal                      nng                       wireguard-go
ghc                       nnn                       wireguard-tools
ghq                       node                      wireshark
git                       nss                       xmrig
git-lfs                   octant                    xsimd
gitlab-runner             okteto                    you-get
gitleaks                  opa                       youtube-dl
glooctl                   opam
==> Deleted Formulae
lastfmfpclient

==> Installing dependencies for minikube: kubernetes-cli
==> Installing minikube dependency: kubernetes-cli
==> Downloading https://homebrew.bintray.com/bottles/kubernetes-cli-1.17.2.c
==> Downloading from https://akamai.bintray.com/6d/6d17df661d41decb333b2565d
###                                                                        4########                                                                  12###############                                                           22#######################                                                   32#############################                                             40###################################                                       49########################################                                  55###########################################                               61#################################################                         68#######################################################                   76############################################################              83##################################################################        91######################################################################## 100.0%
==> Pouring kubernetes-cli-1.17.2.catalina.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/kubectl
Target /usr/local/bin/kubectl
already exists. You may want to remove it:
  rm '/usr/local/bin/kubectl'

To force the link and overwrite all conflicting files:
  brew link --overwrite kubernetes-cli

To list all files that would be deleted:
  brew link --overwrite --dry-run kubernetes-cli

Possible conflicting files are:
/usr/local/bin/kubectl -> /Applications/Docker.app/Contents/Resources/bin/kubectl
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/kubernetes-cli/1.17.2: 235 files, 49MB
==> Installing minikube
==> Downloading https://homebrew.bintray.com/bottles/minikube-1.6.2.catalina
==> Downloading from https://akamai.bintray.com/56/56aefe2d8de9c83559bc3ff54
#                                                                          2##########                                                                13###################                                                       26#######################################                                   55###########################################################               82######################################################################## 100.0%
==> Pouring minikube-1.6.2.catalina.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/minikube/1.6.2: 8 files, 51.5MB
==> Caveats
==> kubernetes-cli
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> minikube
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
(base) marie@MarieJungui-MacBookPro:~ »

3. minikube 실행하기

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

맥에서 미니큐브 설치시 필요한 명령어는 아래 한줄

OSX

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.32.0/minikube-darwin-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube

이후에 미니큐브 가상머신 시작해 보면 확인 완료

$minikube start

위 실행시 아래 같은 에러 발생되면 거두절미하고, vm 이나 kvm을 설치해 줘야 하는 거임
VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
나는 위 출처 주소에서 hyperkit 설치해 주고, 미니큐브 가상머신 시작하니 정상 기동됨

Hyperkit driver
The Hyperkit driver will eventually replace the existing xhyve driver. It is built from the minikube source tree, and uses moby/hyperkit as a Go library.

To install the hyperkit driver:

curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-hyperkit \
&& sudo install -o root -g wheel -m 4755 docker-machine-driver-hyperkit /usr/local/bin/

기동은 아래 명령어

$minikube start --vm-driver=hyperkit

출처: https://iamreo.tistory.com/entry/미니큐브-설치-맥 [흔적s]

3-1. 실제 나의 실행화면

(base) marie@MarieJungui-MacBookPro:~ » minikube status                 1 ↵
host:
kubelet:
apiserver:
kubeconfig:
(base) marie@MarieJungui-MacBookPro:~ »                                 1 ↵
(base) marie@MarieJungui-MacBookPro:~ »                                 1 ↵
(base) marie@MarieJungui-MacBookPro:~ »                                 1 ↵
(base) marie@MarieJungui-MacBookPro:~ »                                 1 ↵
(base) marie@MarieJungui-MacBookPro:~ » minikube start --vm-driver=hyperkit
😄  minikube v1.6.2 on Darwin 10.15.2
✨  Selecting 'hyperkit' driver from user configuration (alternates: [])
💾  Downloading driver docker-machine-driver-hyperkit:
    > docker-machine-driver-hyperkit.sha256: 65 B / 65 B [---] 100.00% ? p/s 0s
    > docker-machine-driver-hyperkit: 0 B / 10.81 MiB [_________] 0.00% ? p/    > docker-machine-driver-hyperkit: 34.72 KiB / 10.81 MiB [>__] 0.31% ? p/    > docker-machine-driver-hyperkit: 93.93 KiB / 10.81 MiB [>__] 0.85% ? p/    > docker-machine-driver-hyperkit: 195.93 KiB / 10.81 MiB  1.77% 328.62 K    > docker-machine-driver-hyperkit: 416.93 KiB / 10.81 MiB  3.77% 328.62 K    > docker-machine-driver-hyperkit: 671.93 KiB / 10.81 MiB  6.07% 328.62 K    > docker-machine-driver-hyperkit: 1.34 MiB / 10.81 MiB  12.37% 433.12 Ki    > docker-machine-driver-hyperkit: 2.71 MiB / 10.81 MiB  25.05% 433.12 Ki    > docker-machine-driver-hyperkit: 3.16 MiB / 10.81 MiB  29.24% 433.12 Ki    > docker-machine-driver-hyperkit: 5.16 MiB / 10.81 MiB  47.75% 824.57 Ki    > docker-machine-driver-hyperkit: 5.16 MiB / 10.81 MiB  47.75% 824.57 Ki    > docker-machine-driver-hyperkit: 7.16 MiB / 10.81 MiB  66.25% 824.57 Ki    > docker-machine-driver-hyperkit: 9.16 MiB / 10.81 MiB  84.75% 1.19 MiB     > docker-machine-driver-hyperkit: 10.50 MiB / 10.81 MiB  97.18% 1.19 MiB    > docker-machine-driver-hyperkit: 10.50 MiB / 10.81 MiB  97.18% 1.19 MiB    > docker-machine-driver-hyperkit: 10.81 MiB / 10.81 MiB  100.00% 3.77 MiB p
🔑  The 'hyperkit' driver requires elevated permissions. The following commands will be executed:

    $ sudo chown root:wheel /Users/marie/.minikube/bin/docker-machine-driver-hyperkit
    $ sudo chmod u+s /Users/marie/.minikube/bin/docker-machine-driver-hyperkit


Password:
Password:
Password:
💿  Downloading VM boot image ...
    > minikube-v1.6.0.iso.sha256: 65 B / 65 B [--------------] 100.00% ? p/s 0s
    > minikube-v1.6.0.iso: 448.48 KiB / 150.93 MiB [>___________] 0.29% ? p/    > minikube-v1.6.0.iso: 2.80 MiB / 150.93 MiB [>_____________] 1.85% ? p/    > minikube-v1.6.0.iso: 8.42 MiB / 150.93 MiB [>_____________] 5.58% ? p/    > minikube-v1.6.0.iso: 16.80 MiB / 150.93 MiB [ 11.13% 27.28 MiB p/s ETA    > minikube-v1.6.0.iso: 25.17 MiB / 150.93 MiB [ 16.68% 27.28 MiB p/s ETA    > minikube-v1.6.0.iso: 32.19 MiB / 150.93 MiB [ 21.33% 27.28 MiB p/s ETA    > minikube-v1.6.0.iso: 36.25 MiB / 150.93 MiB [ 24.02% 27.61 MiB p/s ETA    > minikube-v1.6.0.iso: 41.75 MiB / 150.93 MiB [ 27.66% 27.61 MiB p/s ETA    > minikube-v1.6.0.iso: 45.66 MiB / 150.93 MiB [ 30.25% 27.61 MiB p/s ETA    > minikube-v1.6.0.iso: 49.91 MiB / 150.93 MiB [ 33.07% 27.30 MiB p/s ETA    > minikube-v1.6.0.iso: 55.08 MiB / 150.93 MiB [ 36.49% 27.30 MiB p/s ETA    > minikube-v1.6.0.iso: 61.75 MiB / 150.93 MiB [ 40.91% 27.30 MiB p/s ETA    > minikube-v1.6.0.iso: 68.84 MiB / 150.93 MiB [ 45.61% 27.57 MiB p/s ETA    > minikube-v1.6.0.iso: 77.31 MiB / 150.93 MiB [ 51.22% 27.57 MiB p/s ETA    > minikube-v1.6.0.iso: 83.14 MiB / 150.93 MiB [ 55.08% 27.57 MiB p/s ETA    > minikube-v1.6.0.iso: 90.05 MiB / 150.93 MiB [ 59.66% 28.06 MiB p/s ETA    > minikube-v1.6.0.iso: 94.48 MiB / 150.93 MiB [ 62.60% 28.06 MiB p/s ETA    > minikube-v1.6.0.iso: 100.34 MiB / 150.93 MiB  66.48% 28.06 MiB p/s ETA    > minikube-v1.6.0.iso: 106.98 MiB / 150.93 MiB  70.88% 28.09 MiB p/s ETA    > minikube-v1.6.0.iso: 111.08 MiB / 150.93 MiB  73.60% 28.09 MiB p/s ETA    > minikube-v1.6.0.iso: 117.31 MiB / 150.93 MiB  77.73% 28.09 MiB p/s ETA    > minikube-v1.6.0.iso: 124.08 MiB / 150.93 MiB  82.21% 28.11 MiB p/s ETA    > minikube-v1.6.0.iso: 129.25 MiB / 150.93 MiB  85.64% 28.11 MiB p/s ETA    > minikube-v1.6.0.iso: 135.23 MiB / 150.93 MiB  89.60% 28.11 MiB p/s ETA    > minikube-v1.6.0.iso: 139.20 MiB / 150.93 MiB  92.23% 27.92 MiB p/s ETA    > minikube-v1.6.0.iso: 144.66 MiB / 150.93 MiB  95.84% 27.92 MiB p/s ETA    > minikube-v1.6.0.iso: 150.08 MiB / 150.93 MiB  99.44% 27.92 MiB p/s ETA    > minikube-v1.6.0.iso: 150.93 MiB / 150.93 MiB [-] 100.00% 28.81 MiB p/s 5s
🔥  Creating hyperkit VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
🐳  Preparing Kubernetes v1.17.0 on Docker '19.03.5' ...
💾  Downloading kubeadm v1.17.0
💾  Downloading kubelet v1.17.0
🚜  Pulling images ...
🚀  Launching Kubernetes ...
⌛  Waiting for cluster to come online ...
🏄  Done! kubectl is now configured to use "minikube"
⚠️  /usr/local/bin/kubectl is version 1.14.8, and is incompatible with Kubernetes 1.17.0. You will need to update /usr/local/bin/kubectl or use 'minikube kubectl' to connect with this cluster
(base) marie@MarieJungui-MacBookPro:~ » \
\
(base) marie@MarieJungui-MacBookPro:~ »
(base) marie@MarieJungui-MacBookPro:~ »
(base) marie@MarieJungui-MacBookPro:~ »
(base) marie@MarieJungui-MacBookPro:~ »
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글