サンプルユーザーを作成します
このガイドでは、我々は、Kubernetesのサービスアカウントのメカニズムを使用して新しいユーザーを作成し、このユーザーの管理者権限を付与し、このユーザーに関連付けベアラ・トークンを使用してダッシュボードにログインする方法を見つけるだろう。
重要:あなたが進む前に何をしているか知っていることを確認してください。ダッシュボードのサービスアカウントに管理者権限を付与すると、セキュリティ上のリスクがあるかもしれません。
以下のために、次のスニペットをコピー ServiceAccount
し、 ClusterRoleBinding
のような新しいマニフェストファイルに dashboard-adminuser.yaml
し、使用 kubectl apply -f dashboard-adminuser.yaml
して作成します。
サービスアカウントを作成します。
私たちは、名前のサービスアカウントを作成している admin-user
名前空間に kubernetes-dashboard
最初に。
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
ClusterRoleBindingを作成します。
使用して私たちのクラスタをプロビジョニングした後、ほとんどの場合、 kops
または kubeadm
または任意の他の一般的なツール、 ClusterRole
admin-Role
すでにクラスタ内に存在します。私たちは、それを使用してのみ作成することができ ClusterRoleBinding
、私たちのために ServiceAccount
。
注: apiVersion
の ClusterRoleBinding
リソースがKubernetesのバージョン間で異なる場合があります。Kubernetes前 でした 。v1.8
apiVersion
rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
ベアラトークン
今、私たちは、私たちがログインするために使用できるトークン見つける必要がある以下のコマンドを実行します。:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
それはのようなものを印刷する必要があります:
Name: admin-user-token-v57nw
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 0303243c-4040-4a58-8a47-849ee9ba79c1
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1066 bytes
namespace: 20 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ
今すぐトークンをコピーしてに貼り付けて Enter token
、ログイン画面上のフィールド。
クリック Sign in
ボタンをして、それはそれです。これで、管理者としてログインしています。
拒否に/ Kubernetesの権限を付与する方法についての詳細を調べるために、公式読ん 認証 & 承認のドキュメントを。