kubernetes-根据rbac来制作dashboard的部分权限的config file

先来rbac吧
以下是简单版,利用rolebind不能跨namespace的特性来实现

# cat k8s-role-users.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
    addonmanager.kubernetes.io/mode: Reconcile
  name: kubernetes-dashboard-admin
  namespace: oms
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: kubernetes-dashboard-admin
  namespace: oms
  labels:
    k8s-app: kubernetes-dashboard
    addonmanager.kubernetes.io/mode: Reconcile
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard-admin
  namespace: oms

运行yaml

kubectl apply -f k8s-role-users.yaml

获取token

DASH_TOCKEN=$(kubectl -n oms  get  secret  default-token-sycc  -o jsonpath={.data.token} |base64 -d)

这时已经可以根据token来登录dashboard了

为了更方便的来登录,我们制作config

#####注意:
/usr/local/src/dashbord-admin.conf 这个文件目前是没有的,我们通过一步一步来生成他,这个就是我们登录dashboard的config
获取token
DASH_TOCKEN=$(kubectl -n kubernetes-dashboard  get  secret  default-token-sycc  -o jsonpath={.data.token} |base64 -d)
# 设置 kubeconfig 文件中的一个集群条目
kubectl config set-cluster kubernetes --server=192.168.2.11:6443 --kubeconfig=/usr/local/src/dashbord-admin.conf
# 设置 kubeconfig 文件中的一个用户条目
kubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/usr/local/src/dashbord-admin.conf
# 设置 kubeconfig 文件中的一个上下文条目
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/usr/local/src/dashbord-admin.conf
#设置 kubeconfig 文件中的当前上下文
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/usr/local/src/dashbord-admin.conf

ok,完成

posted @ 2020-10-28 19:06  大葱丁  阅读(171)  评论(0编辑  收藏  举报