WSL2上でk8s(minikube)を実行した際に、起動させたhttpdにアクセスできない問題
## 問題
「仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん (Compass Booksシリーズ」をWSL2上で試していたところ、CHAPTER8-SECTION06, p283において、http://localhost:30080/
にアクセスしたが、apache2のデフォルト画面が表示されなかった。
解決目標:apache2のデフォルトページが見えること。
## 結論
minikube delete --all --purge
で一旦minikubeを終了させ、minikube start --ports=127.0.0.1:30080:30080
で起動する。
その後、テキスト通りにはじめから構築し、解決目標は達成された。
## 環境
PS C:\Users\hoge> wsl -v WSL バージョン: 1.2.5.0 カーネル バージョン: 5.15.90.1 WSLg バージョン: 1.0.51 MSRDC バージョン: 1.2.3770 Direct3D バージョン: 1.608.2-61064218 DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows バージョン: 10.0.19045.3208 $ cat /etc/*release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS" $ docker -v Docker version 23.0.1, build a5ee5b1 $ minikube version minikube version: v1.31.1 commit: fd3f3801765d093a485d255043149f92ec0a695f
## 原因・調査
ss -atlnp
等により、稼働しているポートを調べてもマニフェストでnodePortとして指定した30080
が空いていないことを確認したため、minikube上での設定を疑った。wsl port 30080
でググると以下の記事を発見した。
参考:kubernetes - Cannot access deployed services when Minikube cluster is installed in WSL2 - Stack Overflow
該当するコマンドのDocumentは以下の通り
--ports strings: List of ports that should be exposed (docker and podman driver only)参考:start | minikube