LoginSignup
19
17

More than 5 years have passed since last update.

minikubeをMacにインストールする

Posted at

GKEのkubernetesを利用したアプリの開発用に、
ローカルのVM上でsingle-nodeで稼働するkubernetes環境のminikubeをインストールします。

一部を除き基本的に下記公式リンクの手順のままです。
https://kubernetes.io/docs/getting-started-guides/minikube/

環境

MacOS 10.12.6 (Sierra)
VirtualBox 5.1.28

楽されたい方

公式にはありませんが下記手順で(minikubeインストールまで)が一度にできるようです。
バージョン等気にしない&とりあえずの方は下記をどうぞ。

brew update && brew install kubectl && brew cask install docker minikube virtualbox

VirtualBoxインストール

minikubeが稼働するVM用にVirtualBoxをインストールします。

https://qiita.com/Manjiii/items/5546cde1ecf532cf2082
と同じようにhomebrewでインストールしました。

brew cask install virtualbox

Dockerインストール

https://www.docker.com/
からインストール。

もしくはbrew caskでインストール

brew cask install docker

お好みで。

kubectlインストール

kubernetesのコマンドラインツールであるkubectlをインストールします。
下記に環境毎のインストール方法が記載されています。
https://kubernetes.io/docs/tasks/tools/install-kubectl/

私は上記の中の手動で自由に更新できる、下記方法でstableの最新バージョンをインストールしました。
(結構頻繁にバージョン上がってるようです)

#最新版取得
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl

#権限追加
chmod +x ./kubectl

#配置
sudo mv ./kubectl /usr/local/bin/kubectl

minikubeインストール

公式手順のページからリンクされているGithub上にインストール方法が記載されています。
https://github.com/kubernetes/minikube/releases

Mac用の方法は下記コマンドになります。

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

minikube動作確認

起動

minikubeを起動します。

#お作法でバージョン確認
minikube version

#起動
minikube start

デモ用のアプリを動かしてみる

https://kubernetes.io/docs/getting-started-guides/minikube/
にコメントの追加と多少のいじっただけで記載されているものほぼそのままです。

# デモ用のイメージを取得して動かす
kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
deployment "hello-minikube" created


# 外からアクセスできるようにする
kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed


# podの情報を取得する
kubectl get pod


# 起動まで時間がかかるのでpodのstatusがRunningになるまで待つ
NAME                              READY     STATUS              RESTARTS   AGE
hello-minikube-3383150820-vctvh   1/1       ContainerCreating   0          3s
#↓
NAME                              READY     STATUS    RESTARTS   AGE
hello-minikube-3383150820-vctvh   1/1       Running   0          13s


# 動いているserviceを確認

minikube service list

|-------------|----------------------|-----------------------------|
|  NAMESPACE  |         NAME         |             URL             |
|-------------|----------------------|-----------------------------|
| default     | kubernetes           | No node port                |
| default     | hello-minikube       | http://192.168.99.100:XXXXX |
| kube-system | kube-dns             | No node port                |
| kube-system | kubernetes-dashboard | http://192.168.99.100:30000 |
|-------------|----------------------|-----------------------------|

# curlで叩いてみる
curl $(minikube service hello-minikube --url)
# 結果がつらつらとでれば成功
CLIENT VALUES:
client_address=192.168.99.1
command=GET
real path=/
...

管理画面を開いてみる

ブラウザで、上記サービスの中で出ている、
「kubernetes-dashboard」のURLを叩くと管理画面が見ることができます。
http://192.168.99.100:30000

デモアプリの削除とminikube停止

# デモアプリをminikubeから削除する
kubectl delete deployment hello-minikube

# minikubeを止める
minikube stop

参考URL

getting-started-guides
https://kubernetes.io/docs/getting-started-guides/minikube/

19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17