先贴出token登录获取登录token方式

kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token

1.chrome不能访问
进入默认secret所在目录
删除原有secret并创建新的

kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
kubectl create secret generic kubernetes-dashboard-certs \
--from-file=/etc/kubernetes/pki/apiserver.key --from-file=/etc/kubernetes/pki/apiserver.crt -n kubernetes-dashboard

修改 dashboard.yaml 文件,在args下面增加证书两行

args:
        - --auto-generate-certificates
        - --tls-key-file=apiserver.key
        - --tls-cert-file=apiserver.crt

重新应用dashboardyaml文件

kubectl apply -f kubernetes-dashboard.yaml

2.用户名密码登录
2.1创建用户名密码文件

vim /etc/kubernetes/pki/basic_auth_file
用户名,密码,唯一id

在apiserver.yaml文件中

 - command:
    - kube-apiserver
    ###下新增一行
    - --basic-auth-file=/etc/kubernetes/pki/basic_auth_file  

重新部署apiserver
kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml
修改dashboardyaml文件

 args:
            - --auto-generate-certificates
            - --namespace=kubernetes-dashboard
            - --token-ttl=21600 #新增行 单位秒
            - --authentication-mode=basic #新增行

最后一步,为用户创建权限
kubectl create rolebinding username-admin --clusterrole=admin --namespace=name --user=name

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐