(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes/Dashboard】ダッシュボードにToken認証でログインする

スポンサーリンク

やりたいこと

kubernetesui/dashboardにおいてToken認証機能をオンにする。
尚、以下でダッシュボード機能自体はインストール済とする。

# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
環境情報
  • Kubernetes 1.23
  • kubernetesui/dashboard:v2.4.0

やり方

以下のようにhttpsポートを開いて起動した上で

      containers:
      - args:
        - --port=9090
        - --namespace=kubernetes-dashboard
        - --auto-generate-certificates=true

インストール時にできるkubernetes-dashboard-tokenをdescribeして表示されるTokenを入力する。

# kubectl get secret -n kubernetes-dashboard
NAME                               TYPE                                  DATA   AGE
default-token-f6xjr                kubernetes.io/service-account-token   3      27h
kubernetes-dashboard-certs         Opaque                                0      27h
kubernetes-dashboard-csrf          Opaque                                1      27h
kubernetes-dashboard-key-xx    Opaque                                2      27h
kubernetes-dashboard-token-xx   kubernetes.io/service-account-token   3      27h

tokenの値はbase64でエンコードされていますが

Data
ca.crt:     1099 bytes
namespace:  20 bytes
token:      xxxx

そのままの値を入力することでダッシュボードにログインできる。

f:id:mtiit:20220128194753p:plain
ログイン画面が表示される

以下、補足です。

補足

同Tokenはデフォルトで900秒有効なので、一定時間が経つと以下メッセージと共にログアウトされます。

Unauthorized (401): You have been logged out because your token has expired.

ただし、Secret自体は書き換わらないので同じTokenでログインができます。

また、Httpsは有効にしつつログイン機構をスキップしたい場合は

        - --enable-skip-login=true

上記オプションを付与することで以下のようにスキップボタンがログイン画面に表示されます。

f:id:mtiit:20220128212717p:plain
スキップボタンが表示される

以上です。