kubernetes-dashboard有两种认证方式,认证的是UserAccount, token认证和Kubeconfig文件的认证。
外网访问dashboard,目前只看到火狐支持设置可信任是可以刷出页面,Chrome 不行。
Kubeconfig 方式认证
# 创建一个访问 default命令空间的 serviceaccount 账号
cd /etc/kubernetes/pki
kubectl create serviceaccount def-ns-admin -n default
# 创建 rolebinding 把 def-ns-admin 与 admin 关联
kubectl create rolebinding def-ns-admin --clusterrole=admin --serviceaccount=default:def-ns-admin
token 方式认证
要获得管理集群的权限,新建admin-user-admin.rbac.yaml文件,内容如下
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
# Create ClusterRoleBinding
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: kube-system
然后执行
kubectl create -f admin-user-admin.rbac.yaml
admin-user-admin的token,记下这串token,等下登录的时候会使用,这个token默认是永久的。
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
参考k8s中文文档