Github 地址
    https://github.com/kubernetes/dashboard

    1. wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    2. kubectl apply f recommended.yaml

    部署完成后,查看:

    [root@los‐node‐1 k8s]# kubectl get pods ‐A ‐‐all‐namespaces
    NAMESPACE NAME READY STATUS RESTARTS AGE
    default nginx‐6799fc88d8‐zlxdz 1/1 Running 0 5d18h
    default xxl‐job‐admin‐6c4974c559‐vxzkx 1/1 Running 0 3d20h
    kube‐system coredns‐6d56c8448f‐4f22r 1/1 Running 0 6d21h
    kube‐system coredns‐6d56c8448f‐clsnq 1/1 Running 0 6d21h
    kube‐system etcd‐los‐node‐1 1/1 Running 0 6d21h
    kube‐system kube‐apiserver‐los‐node‐1 1/1 Running 0 6d21h
    kube‐system kube‐controller‐manager‐los‐node‐1 1/1 Running 0 6d21h
    kube‐system kube‐flannel‐ds‐hwj2b 1/1 Running 0 6d19h
    kube‐system kube‐flannel‐ds‐lpzj6 1/1 Running 0 6d19h
    kube‐system kube‐proxy‐f7vpj 1/1 Running 0 6d19h
    kube‐system kube‐proxy‐x2wtc 1/1 Running 0 6d21h
    kube‐system kube‐scheduler‐los‐node‐1 1/1 Running 0 6d21h
    kubernetes‐dashboard dashboard‐metrics‐scraper‐7b59f7d4df‐4zhxn 1/1 Running 0 13m
    kubernetes‐dashboard kubernetes‐dashboard‐665f4c5ff‐8jj5w 1/1 Running 0 13m
    

    此时服务还未对外暴漏,修改 recommended.yaml 文件,重新部署
    image.png

    查看service:

    [root@los‐node‐1 k8s]# kubectl get svc ‐A ‐‐all‐namespaces
    NAMESPACE NAME TYPE CLUSTER‐IP EXTERNAL‐IP PORT(S) AGE
    default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 6d21h
    default nginx NodePort 10.106.156.193 <none> 80:32051/TCP 4d3h
    default xxl‐job‐admin NodePort 10.106.141.107 <none> 20000:31682/TCP 3d21h 6
    kube‐system kube‐dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 6d21h
    kubernetes‐dashboard dashboard‐metrics‐scraper ClusterIP 10.104.68.255 <none> 8000/TCP 20m
    kubernetes‐dashboard kubernetes‐dashboard NodePort 10.96.36.204 <none> 443:30001/TCP 20m
    

    此时访问: https://192.168.77.13:30001/

    image.png

    需要使用token进行登录,创建账号,赋予权限,获取token:

    #创建账号
    kubectl create serviceaccount dashboard-admin -n kube-system
    #赋予权限
    kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
    #打印token
    kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
    

    具体信息如下:

    [root@los‐node‐1 k8s]# kubectl create serviceaccount dashboard‐admin ‐n kube‐system  serviceaccount/dashboard‐admin created
    root@los‐node‐1 k8s]# kubectl create clusterrolebinding dashboard‐admin --clusterrole=cluster-admin  --serviceaccount=kube-system:dashboard-admin clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
    5 [root@los‐node‐1 k8s]# kubectl describe secrets ‐n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
    Name: dashboard‐admin‐token‐2mcwv
    Namespace: kube‐system
    Labels: <none>
    Annotations: kubernetes.io/service‐account.name: dashboard‐admin
    kubernetes.io/service‐account.uid: 75f06737‐3bd8‐41d1‐b770‐b9f1f2aaf4d7
    Type: kubernetes.io/service‐account‐token
    
    
    Data
    ====
    
    ca.crt: 1066 bytes
    namespace: 11 bytes
    token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjNybmUzZUxQek1QdmQ1eFFzcTNGSlI5MFg0V
    nQ2YUhjaUhUcEFJa2N3RVUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia
    3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1
    YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4
    tdG9rZW4tMm1jd3YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3
    VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3Vud
    C9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzVmMDY3MzctM2JkOC00MWQxLWI3NzAtYjlmMWYyYWFm
    NGQ3Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1
    hZG1pbiJ9.IdYWuCI5VbEcGZ8OoAc2UhhDxdvKLPiMDtXkAx6PuSVqiJ‐8cvCaMrBGtJvwMPKP0
    bqsg9b71FTdGrkTaRqixTyd0ARpIlEcCembQ9przE‐Tr81SuGRoKqaRgKdLlfCmC1GK6kNzOzFm
    aZKgwTg6DGkJecXUVC3pW7Dmo2oEiBn6mCLA4UhX2GqxVwf‐CF51sOHaUZUM31SuB9B‐gab‐Nk2
    C8sEMJ_Jg2CdQrd66hAPsc_QJmZXsAEGVK4LjzWPv6Al16aswAoQP1yqX_MGNXUdrt2JaBR01lw
    CBfaX_M3zkhJ8XihXr5b8lU9xoacg0o19cwTpexFQPoyjOo_LhVw
    

    使用token进行登录:
    image.png
    image.png
    image.png

    recommended.yaml