macでMinikubeを使うときの備忘録

2022/04/17に公開

はじめに

Kubernetesを少しいじりたいが,パブリッククラウドでKubernetesサービスを使うほどでもない時にMinikubeを触ったので,その時の備忘録.

TL;DR

この記事ではMinikubeをインストールし,dashboardとサンプルのdeployをする手順を書く.

前提環境

  • pc: mac book pro
  • os: macOS Big Sur

インストール

minikube startでOSなどの環境を選択するとインストールするためのコマンドを表示してくれます.
今回は以下の条件で指定しました.
Operating system: macOS
Architecture: x86-64
Release type: Stable
Installer type: Homebrew

Minikubeのインストール
$ brew install minikube
version
$ minikube version
minikube version: v1.25.2
command menu
$ minikube
minikube は、開発ワークフロー用に最適化されたローカル Kubernetes
クラスターを構築・管理します。

Basic Commands:
  start          ローカルの Kubernetes クラスターを起動します
  status         ローカル Kubernetes クラスタの状態を取得します
  stop           ローカル Kubernetes クラスターを停止します
  delete         ローカルの Kubernetes クラスターを削除します
  dashboard      minikube クラスター内で動いている Kubernetes
のダッシュボードにアクセスします
  pause          Kubernetes を一時停止させます
  unpause        Kubernetes を停止解除します

Images Commands:
  docker-env     minikube の Docker デーモンを使用するように環境を設定します
  podman-env     minikube の Podman サービスを使用するように環境を設定します
  cache          ローカルイメージを minikube に追加、削除、またはプッシュします
  image          イメージを管理します

Configuration and Management Commands:
  addons         minikube のアドオンを有効化または無効化します
  config         永続的な設定値を変更します
  profile        現在指定しているクラスタプロファイルを取得、またはリストアップします
  update-context IP アドレスやポート番号が変わった場合に kubeconfig を更新してください

Networking and Connectivity Commands:
  service        サービスに接続するための URL を返します
  tunnel         LoadBalancer サービスに接続します

Advanced Commands:
  mount          minikube に指定されたディレクトリーをマウントします
  ssh            minikube の環境にログインします (デバッグ用)
  kubectl        クラスターのバージョンに一致する kubectl バイナリーを実行します
  node           追加のノードを追加、削除またはリストアップします
  cp             指定したファイルを minikube にコピーします

Troubleshooting Commands:
  ssh-key        指定したノードの SSH 鍵のパスを取得します
  ssh-host       指定したノードの SSH ホスト鍵を取得します
  ip             指定したノードの IP アドレスを取得します
  logs           ローカルの Kubernetes クラスターをデバッグするためのログを返します
  update-check   使用中および最新の minikube バージョン番号を表示します
  version        minikube バージョンを表示します
  options        (全コマンドに適用される)
グローバルコマンドラインオプションの一覧を表示します。

Other Commands:
  completion     シェルのコマンド補完コードを生成します

Use "minikube <command> --help" for more information about a given command.

Minikube操作手順など

Minikube起動

起動
$ minikube start ( --vm-driver=<driver-name> )

minikube startのデフォルトでは--vm-driver=noneだが,チュートリアルにあるminikube service hello-minikube --urlが実行できなかった.(とても時間がかかっているだけ?)
--vm-driver=hyperkitであれば可能.--vm-driver=virtualboxでは下記のようなメッセージが表示された.今回はhyperkitを使用する.

    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                      │
│    「virtualbox」ドライバーが選択されましたが、より良い選択肢があります!                                            │
│    性能と機能の向上のため、別のドライバー使用を検討してください:                                                     │
│            - hyperkit                                                                                                │
│                                                                                                                      │
│    この警告を表示させないためには、以下を実行してください:                                                           │
│                                                                                                                      │
│            $ minikube config set WantVirtualBoxDriverWarning false                                                   │
│                                                                                                                      │
│                                                                                                                      │
│    minikube ドライバーについてもっと知るためには、https://minikube.sigs.k8s.io/docs/drivers/ を確認してください。    │
│    ベンチマークについては https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/ を確認してください                  │
│                                                                                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
🔎  Kubernetes コンポーネントを検証しています...

ダッシュボードの起動

dashboardの起動
$ minikube dashboard

Kubernetesではダッシュボードを使うために,下記の手順が必要となるようでです.(web UI(Dashboard))

  • ダッシュボードUIのデプロイ
  • コマンドラインプロキシー

Minikubeの停止

停止
$ minikube stop

Minikube VMの削除

削除
$ minikube delete

その他

今回はローカルにMinikubeをインストールしたが,特にローカルを使う理由がなければドキュメントチュートリアルでMinikubeを使える.

Kubernetesの基本では対話式でKubernetesの仕組みを学習できるのでおすすめかも.

参考

Discussion