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
フォルダが作成される場所は、以下の順番で評価され決定されます。
-
HOME
環境変数に値が設定されており、その値のフォルダが存在するか -
HOMEDRIVE
環境変数とHOMEPATH
環境変数に値が設定されており、HOMEDRIVE
とHOMEPATH
を結合し、その結合した値のフォルダが存在するか -
USERPROFILE
環境変数に値が設定されており、その値のフォルダが存在するか - 上記3つとも値が設定されていないまたはフォルダが存在しない場合、
HOME
環境変数の値が無条件で使用される
これらの処理は https://github.com/kubernetes/client-go/blob/master/util/homedir/homedir.go に書かれています。
-
2017/09/18 時点の話ですが、 リポジトリの Releases で配布されているバイナリだと
minikube start
が途中でコケます(鍵の転送がうまくいっていない模様)。なのでこちらのバイナリを使用しました。 ↩