kubernetes
ibmcloud

【IBM Cloud k8s】WebUI (Dashboard)への認証方法のメモ

Kubernetesのダッシュボードにログインしたいんだけど、StackOverflow に書いてある通りには、Secretの名前が異なっていて解決しなかったので、IBM Cloudではどうするか? とのメモです。

背景としては、IBM Cloud Container Service すなわち Kubernetes で バージョン 1.8以降にすると、WebUI ダッシュボードにアクセスする際に認証を要求する様になった。 次の様な画面が出てくる。 この認証をスキップすると、必要な情報が何も表示されないので、認証をパスすることは必須となりました。 

スクリーンショット 2018-01-26 14.31.05.png

トークンの取得方法

ネームスペースにkube-systemを指定して、default-token- から始まる secret を探す

$ kubectl -n kube-system get secret
NAME                               TYPE                                   DATA      AGE
...
default-token-96msl                kubernetes.io/service-account-token    3         56d
...

default-taken-96msl の詳細を表示して、token のフィールドをコピーする。

$ kubectl -n kube-system describe secret default-token-96msl 
Name:         default-token-96msl
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name=default
              kubernetes.io/service-account.uid=c066f292-d63b-11e7-b348-52739e8f8ad5

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1887 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5(長いので以下省略)

ダッシュボードの起動とログイン

環境に合わせて、パラメータを調整して、ダッシュボードを起動する

kubectl proxy --address="0.0.0.0" -p 8001 --accept-hosts='^*$'

ブラウザからアクセスして、tokenをコピペして、SIGN INをクリック

スクリーンショット 2018-01-26 15.01.22.png

認証が成功すると、トップ画面が表示される。

スクリーンショット 2018-01-26 15.03.05.png

参考資料

  1. How to sign in kubernetes dashboard? https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard
  2. Kubernetes 1.8のアクセス制御について。あとDashboard。 https://www.kaitoy.xyz/2017/10/31/retry-dashboard-on-k8s-cluster-by-kubeadm/