k8s下进行绑定sa账号进行登录授权dashboard
创建名称空间,sa,绑定指定名称空间下所有权限,通过token登录dashboard[root@master1 ~]# kubectl describe sa default //查看默认名称空间的sa详细信息[root@master1 ~]# kubectl describe secret default-token-59xrr //查看默认名称空间下的token此权限登录k8s的dashboa
创建名称空间,sa,绑定指定名称空间下所有权限,通过token登录dashboard
[root@master1 ~]# kubectl describe sa default //查看默认名称空间的sa详细信息
[root@master1 ~]# kubectl describe secret default-token-59xrr //查看默认名称空间下的token
此权限登录k8s的dashboard不能做任何操作
[root@master1 ~]# kubectl create ns lucky //创建名称空间
[root@master1 ~]# kubectl create serviceaccount lucky-admin -n lucky //在lucky名称空间下创建一个名字叫lucky-admin的sa
[root@master1 ~]# kubectl get clusterrole //查看所有的clusterrole,可以看多很多cluster,其中
cluster-admin这个clusterrole所有权限都有
[root@master1 ~]# kubectl create rolebinding lucky-admin-rolebinding -n lucky --clusterrole=cluster-admin --serviceaccount=lucky:lucky-admin //在lucky名称空间下创建一个名字为lucky-admin-rolebinding的rolebinding,指定clusterrole=cluster-admin即赋予全部权限,指定sa=lucky名称空间下的lucky-admin
[root@master1 ~]# kubectl get secret -n lucky //查看lucky名称空间下secret NAME TYPE DATA AGE default-token-zjbgb kubernetes.io/service-account-token 3 28m lucky-admin-token-vdkg6 kubernetes.io/service-account-token 3 26m
[root@master1 ~]# kubectl describe secret lucky-admin-token-vdkg6 -n lucky //查看这个secret的详细信息,以及对应的token
[root@master1 ~]# kubectl describe secret lucky-admin-token-vdkg6 -n lucky Name: lucky-admin-token-vdkg6 Namespace: lucky Labels: <none> Annotations: kubernetes.io/service-account.name: lucky-admin kubernetes.io/service-account.uid: b7cb5c18-fd9c-4305-bfd9-837f8d2c754d
Type: kubernetes.io/service-account-token
Data
ca.crt: 1025 bytes namespace: 5 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6IkJwNHV3bmxZZUxXM3pPNnY0RFRKekxFVXNPM2xjMEtrRjZCZndvZ0NHT28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJsdWNreSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJsdWNreS1hZG1pbi10b2tlbi12ZGtnNiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJsdWNreS1hZG1pbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImI3Y2I1YzE4LWZkOWMtNDMwNS1iZmQ5LTgzN2Y4ZDJjNzU0ZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpsdWNreTpsdWNreS1hZG1pbiJ9.hhCUa3Sdl7hN-IU5cGkTTlep3zXUVx1XUnEaQs6xyXOdAuW1itopEyZtm312BezNw2gZuJ4HjbA9BUTdasWaJ1DVlvQiDBPjQ-u7Au9KHWkWZIsHz6gN8kH5MiZbFyNrNQ2rrfBBxM-eaXDlUdWWKwxtUdxtBQRDLcvh8QO4g1VSjvGbFt5Kpx4E7ZYmbpgy5oA-GkSno50gWjmzN8SQmty4ffCtsmPb7GtWvmrcgjeMp0HLMq44Ekq7-QrJ3RrAWiEoJfWqcIUgICACbWI45r2lJXZshUurc5WhhlAiXNpi1_MZ1uB4DFkG7qRyb68acVdXKf2MhHjOVMH2cxciCg
用这个token登录dashboard就有权限了(创建,删除,查看等)
以上使用rolebing绑定指定名称空间,所以只对指定名称空间享有权限。
绑定所有名称空间的所有权限:
[root@master1 ~]# kubectl get secret -n kubernetes-dashboard //查看dashboard名称空间下的secret
[root@master1 ~]# kubectl describe secret kubenetes-dashboard-token-78klt -n kubernetes-dashboard //查看token,用这个token登录发现可以登录,但是没有权限,因为没有任何授权绑定
[root@master1 ~]# kubectl get sa -n kubernetes-dashboard //查看这个名称空间下的sa
[root@master1 ~]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard //进行绑定权限
授权后在获取token,登录dashboard就可以对任何名称空间享有任何权限了
更多推荐
所有评论(0)