Closed6
kubectl auth whoami を使ってみた
Kubernetes 1.26 から kubectl auth whoami
コマンドが使えるようになったので試してみました。
対応する feature gate (APISelfSubjectReview
) は 1.26 で Alpha, 1.27 で Beta です。
記事執筆時点での kind の最新バージョンは 0.20.0, デフォルトの k8s バージョンは 1.27.3 です。
$ kind version
kind v0.20.0 go1.20.5 linux/amd64
$ kubectl get node
NAME STATUS ROLES AGE VERSION
kind-control-plane Ready control-plane 2m13s v1.27.3
このバージョンだと、そのままでは以下のエラーが表示されて kubectl auth whoami
コマンドが使えません。APISelfSubjectReview
feature gate を有効にし、runtime config で authentication.k8s.io
を設定する必要があります。
$ kubectl auth whoami
error: the selfsubjectreviews API is not enabled in the cluster
enable APISelfSubjectReview feature gate and authentication.k8s.io/v1alpha1 or authentication.k8s.io/v1beta1 API
APISelfSubjectReview
と authentication.k8s.io
を有効にする kind の設定ファイルは以下の通りです。
k8s バージョンが 1.26 の場合は featureGates
の指定が必要です。1.27 の場合はデフォルトで true なので runtimeConfig
だけ書けば大丈夫です。
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
featureGates:
APISelfSubjectReview: true
runtimeConfig:
"authentication.k8s.io/v1beta1": "true"
設定ファイルを使って kind クラスタを立ち上げます。
$ kind create cluster --config cluster.yaml
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.27.3) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Not sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/
kubectl auth whoami
コマンドが使えるようになりました。マルチテナント環境やクラウド環境で便利に使えそうですね。
$ kubectl auth whoami
ATTRIBUTE VALUE
Username kubernetes-admin
Groups [system:masters system:authenticated]
このスクラップは2023/07/11にクローズされました