投稿日:2020年10月11日
Minikubeでローカルでkubernetesで色々テストしている際にはホストのターミナルからcurlなどをServiceに送ってデバッグする場面がよくあるとおもいます。 今回はMinikube環境でホストからServiceにアクセスする方法について解説します。
Minikubeでローカルでkubernetesで色々テストしている際にはホストのターミナルからcurlなどをServiceに送ってデバッグする場面がよくあるとおもいます。
今回はMinikube環境でホストからServiceにアクセスする方法について解説します。
minikube sshコマンドを使用するとkubernetes環境を構築している仮想マシンにssh接続することができます。この方法の場合、対象とするServiceのタイプには制限はないため、デバッグなどをしたい場合にはこちらを利用することをオススメします。
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ curl
curl: try 'curl --help' for more information
$ curl 10.105.244.51:80
<h1>This request was processed by host: webapp1-clusterip-deployment-664dbb4554-d6wdh</h1>
対象のServiceのTypeがLoadBalancer、またはNodePortである場合には、そのServiceは仮想マシン(Node)のPortが割り当てられるため、仮想マシンのIPアドレスとNodePortを利用することができます。(ServiceのIPアドレスとポートについて詳しくは【Kubernetes】ServiceのIPアドレスとポートについての記事に記載します。)
$ minikube service --url service-redis-master
http://192.168.39.220:31584
$ curl 192.168.39.220:31584
<h1>This request was processed by host: webapp1-clusterip-deployment-664dbb4554-d6wdh</h1>