新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

KubernetesのDashboardで「Not Found (404) the server could not find the requested resource」とエラーがでた時の対処方法

KubernetesのDashboardにログインしようとすると

Not Found (404)
the server could not find the requested resource

f:id:kwbtblog:20201211010433p:plain

とエラーが出た時の対処方法です。

原因

古いDashboardでは、「namespace」に「kube-system」が使われていましたが、最近のDashboardでは「kubernetes-dashboard」が使われています。

namespaceはユーザーのトークン取得と、proxyへのアクセスの際に指定し、どちらのnamespaceを使うかは、実際にそのKubernetesにデプロイされているDashboardが、どちらのnamepsaceを使っているかで決まります。

そして、そのnamespaceの指定が実際と違っていた時に、上記のエラーが発生します。

対応

namespaceを使う場所で、Dashboardと同じnamespaceを使うようにします。

トークン取得

NAMESPACE=kubernetes-dashboard # or kube-system
kubectl -n $NAMESPACE describe secret $(kubectl -n $NAMESPACE get secret | grep admin-user | awk '{print $1}')

proxy URL

NAMESPACE=kubernetes-dashboard # or kube-system
echo "http://localhost:8001/api/v1/namespaces/$NAMESPACE/services/https:kubernetes-dashboard:/proxy/"

感想など

新旧スクリプトを混在させたため、表題のエラーがでてハマりました…。

関連カテゴリー(Kubernetes)記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com