0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Homebrewを使用してMacOSにMinikubeの環境構築

Posted at

基本はこちらの公式ドキュメント通り進めればOK。
https://kubernetes.io/ja/docs/setup/learning-environment/minikube/

環境

OS

$ sw_vers
ProductName:	macOS
ProductVersion:	11.6
BuildVersion:	20G165
$

Homebrewのバージョン

$ brew --version
Homebrew 3.2.17
Homebrew/homebrew-core (git revision 0e79905a9e5; last commit 2021-10-20)
$

Minikube のインストール

インストール方法には2種類(バイナリファイルをダウンロードする方法と、Homebrewを利用する方法)あるが、今回はHomebrewを使用したインストールを実施。

$ brew install minikube

スクリーンショット 2021-10-21 11.01.39.png

インストール後、minikubeコマンドを入力して下記が表示されればインストール完了。

$ minikube version
minikube version: v1.23.2
commit: 0a0ad764652082477c00d51d2475284b5d39ceed
$

クイックスタート

ここからは下記のクイックスタートに沿って進める。
https://kubernetes.io/ja/docs/setup/learning-environment/minikube/#%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88

まずはMinikubeを起動し、クラスターを作成。

$ minikube start
😄  Darwin 11.6 上の minikube v1.23.2
✨  dockerドライバーが自動的に選択されました。他の選択肢:  hyperkit, ssh
👍  コントロールプレーンのノード minikube を minikube 上で起動しています
🚜  イメージを Pull しています...
💾  Kubernetes v1.22.2 のダウンロードの準備をしています
    > preloaded-images-k8s-v13-v1...: 511.69 MiB / 511.69 MiB  100.00% 7.50 MiB
    > gcr.io/k8s-minikube/kicbase: 355.40 MiB / 355.40 MiB  100.00% 4.27 MiB p/
🔥  docker container (CPUs=2, Memory=1990MB) を作成しています...
🐳  Docker 20.10.8 で Kubernetes v1.22.2 を準備しています...
    ▪ 証明書と鍵を作成しています...
    ▪ Control Plane を起動しています...
    ▪ RBAC のルールを設定中です...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ イメージ gcr.io/k8s-minikube/storage-provisioner:v5 を使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl is version 1.19.7, which may have incompatibilites with Kubernetes 1.22.2.
    ▪ Want kubectl v1.22.2? Try 'minikube kubectl -- get pods -A'
🏄  完了しました! kubectl が「"minikube"」クラスタと「"default"」ネームスペースを使用するよう構成されました
$

単純なHTTPサーバーであるechoserverという既存のイメージを使用して、Kubernetes Deploymentを作成する。
--portを使用して8080番ポートで公開している。

$ kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
deployment.apps/hello-minikube created
$
$ kubectl expose deployment hello-minikube --type=NodePort --port=8080
service/hello-minikube exposed
$

下記のようにRunningになっていれば起動完了。

$ kubectl get pod
NAME                              READY   STATUS    RESTARTS   AGE
hello-minikube-5d9b964bfb-965js   1/1     Running   0          5m7s
$

Serviceの詳細を確認するため、公開したServiceのURLを取得。

$ minikube service hello-minikube --url
🏃  Starting tunnel for service hello-minikube.
|-----------|----------------|-------------|------------------------|
| NAMESPACE |      NAME      | TARGET PORT |          URL           |
|-----------|----------------|-------------|------------------------|
| default   | hello-minikube |             | http://127.0.0.1:50975 |
|-----------|----------------|-------------|------------------------|
http://127.0.0.1:50975
❗  Dockerドライバーをdarwin上で動かしているため、実行するにはターミナルを開く必要があります。

表示されたURLをブラウザで表示するとServiceの詳細が表示される。
スクリーンショット 2021-10-21 11.44.18.png

ダッシュボード

Kubernetes Dashboardでクラスタの確認。
https://kubernetes.io/ja/docs/tasks/access-application-cluster/web-ui-dashboard/

$ minikube dashboard --url=true                         
🤔  ダッシュボードの状態を確認しています...
🚀  プロキシを起動しています...
🤔  プロキシの状態を確認しています...
http://127.0.0.1:51022/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
$

表示されたURLをブラウザに入力するとダッシュボードが表示される。
http://127.0.0.1:51022/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

スクリーンショット 2021-10-21 11.46.12.png

クラスタの停止

サービスの削除。

$ kubectl delete services hello-minikube
service "hello-minikube" deleted
$

デプロイの削除。

$ kubectl delete deployment hello-minikube
deployment.apps "hello-minikube" deleted
$

クラスタの停止。

$ minikube stop
✋  ノード "minikube" を停止しています...
🛑  SSH 経由で「minikube」の電源をオフにしています...
🛑  1台のノードが停止しました。
$

クラスタの削除。

$ minikube delete
🔥  docker の「minikube」を削除しています...
🔥  コンテナ "minikube" を削除しています...
🔥  /Users/h2-iwashita/.minikube/machines/minikube を削除しています...
💀  クラスタ "minikube" の全てのトレースを削除しました。
$
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?