🤔
minikubeでNodePortに繋げないのをなんとかした
あらすじ
k8sを勉強してみようと思いたち、Kubernetes道場という非常にわかりやすいwebサイトを使わせていただいていた。
ハマったところ
Dockerコンテナーベースのminikubeを使用している際、
Serviceの一種であるNodePortの作成の際に下記コマンドを使い、NodePortへの疎通を確認をしようとした。
minikube service <ノードポートのサービス名> --url
本来であればNodePortへのアドレスが出力されるみたいだが、出力されない。
--url
オプションを除外すると、ブラウザが立ち上がるがNodePortには繋がらない。
いろいろ調べてみるもどうにもうまくいかない。
解決方法
minikube service <ノードポートのサービス> --url
コマンドで、sshトンネルを立ち上げる。
その後、別ウィンドウで下記コマンドで出力される
$ ps -ef | grep docker@127.0.0.1
略 -L TUNNEL_PORT:CLUSTER_IP:TARGET_PORT
のTUNNEL_PORTの部分を確認し、
http://127.0.0.1:TUNNEL_PORT
にアクセスする。
stackoverflowやgithubなどでは全然違う解決方法が書かれており、その全てが上手くいかなかった。が、公式サイトを見ると答えが書いてあった。
追記
minikube start --vm-driver=virtualbox
のような感じでvirtualbox経由で実行すれば、上記のような問題は起きないらしい。
余計な手間も減るし、virtualboxを使うのが良さそう
ここらへんが勉強になった
Discussion