2
1

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 5 years have passed since last update.

Hyper-V 上に構築した Minikube の VM に SSH で接続する

Last updated at Posted at 2017-09-18

2017/09/18 22:20追記

この記事投稿して少し経った後にminikube help見て気づきました。

minikube ssh

これだけでOKでした。
--profileを指定している場合は

minikube --profile="hoge" ssh

こんな感じです。


Hyper-V 上に構築した(--vm-driver="hyperv"を指定) Minikube の VM に接続したいことがあったため、それのメモ。
VM ドライバや Kubernetes バージョン以外は全てデフォルト値を使用して構築しています。

環境など

  • Windows10 Pro
  • Minikube 0.22.1 1
  • Win32-OpenSSH インストール済み

接続

PowerShell を使用して接続します( OpenSSH インストール済み)。

$MK_PF = "minikube"; ssh -i $env:HOMEDRIVE$env:HOMEPATH\.minikube\machines\$MK_PF\id_rsa docker@$(((Get-VM $MK_PF).networkadapters[0]).ipaddresses[0])

minikube start時に--profileオプションを指定して VM 名を設定している場合は、$MK_PF変数にその VM 名を設定してください(デフォルトは minikube)。

簡単な説明

SSH で使用する VM の秘密/公開鍵はユーザホームフォルダの.minikube\machines\VM名\に保存されています。
ユーザ名はdockerになります。ログイン後su -で root に昇格できます。
VM のIPアドレスはGet-VMを使用して取得しています。 VM 名はminikube start時の--profileオプションで指定した文字列が使用されます。

蛇足

Windows の場合、.minikubeフォルダが作成される場所は、以下の順番で評価され決定されます。

  1. HOME環境変数に値が設定されており、その値のフォルダが存在するか
  2. HOMEDRIVE環境変数とHOMEPATH環境変数に値が設定されており、HOMEDRIVEHOMEPATHを結合し、その結合した値のフォルダが存在するか
  3. USERPROFILE環境変数に値が設定されており、その値のフォルダが存在するか
  4. 上記3つとも値が設定されていないまたはフォルダが存在しない場合、HOME環境変数の値が無条件で使用される

これらの処理は https://github.com/kubernetes/client-go/blob/master/util/homedir/homedir.go に書かれています。

  1. 2017/09/18 時点の話ですが、 リポジトリの Releases で配布されているバイナリだとminikube startが途中でコケます(鍵の転送がうまくいっていない模様)。なのでこちらのバイナリを使用しました。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?