Kubernetesのダッシュボードでポッドのログを見るだけのユーザー作成方法

目的

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

Kubernetesのダッシュボードではリソースの削除、作成等
権限があれば何でも出来てしまうため権限を絞った
ログ読み取り専用ユーザーを作成する。

前提

・kubernetesが作成済みであること
・kubectlコマンドが実行可能であること
・Kubernetesダッシュボードが作成済みであること

今回はNAMESPACE単位に権限を設定する。
対象NAMESPACE:smltfw

Roleを作成する

①kubectlコマンドが実行可能な端末にSSHでログインして、Roleファイルを作成する

作成ファイル:smallit-user-role.yaml

設定値の説明

resources:
ここには操作対象のリソースを記入する。今回はポッドとポッドログをみたいので「”pods”,”pods/log”」を指定する。

verbs:
ここには操作権限を指定する。今回は読み取りだけなので「”get”, “list”」を指定する。他にも以下が存在している。get, list, create, update, patch, watch, delete

【参考URL】
https://kubernetes.io/docs/reference/access-authn-authz/authorization/

②kubectlコマンドでデプロイする

③kubectlコマンドで正常にデプロイされたことを確認する。

ServiceAccountを作成する

①kubectlコマンドが実行可能な端末にSSHでログインして、ServiceAccountファイルを作成する

作成ファイル:smallit-user-serviceaccount.yaml

②kubectlコマンドでデプロイする

③kubectlコマンドで正常にデプロイされたことを確認する。

defaultは元から存在するユーザー

RoleBindingを作成する

①kubectlコマンドが実行可能な端末にSSHでログインして、RoleBindingファイルを作成する
この作業で上記作成したServiceAccountにRoleを紐付ける

作成ファイル:smallit-user-rolebinding.yaml

②kubectlコマンドでデプロイする

1kubectl apply -f smallit-user-rolebinding.yaml

③kubectlコマンドで正常にデプロイされたことを確認する。

1kubectl get rolebinding -n smltfw

ServiceAccountのトークンを確認する

①secretを確認する

②上記で取得したsecretの詳細を確認する

tokenが表示されているので、この値をメモする

Kubernetesダッシュボードにログインする

①Kubernetesダッシュボードにアクセスし上記で取得したtokenを入力する

②画面の左上NameSpaceの選択で「smltfw」を入力する

③左のメニューで「ポッド」を選択し、ポッドの三点メニューから「ログ」を選択する

④ログが表示されれば成功

以上

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス