Kanaguの日記

Kanaguの日記です。たまに勉強の記録。

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で起動する。
 その後、テキスト通りにはじめから構築し、解決目標は達成された。

apache2のdefault page

## 環境

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