1. 程式人生 > >Kubernetes之dashboard1.8的部署

Kubernetes之dashboard1.8的部署

kubernetes dashboard

  • 根據官方文檔下載部署文件
    https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

    編輯該並使用下列命令實現將角色名替換:

  •  :%s/kubernetes-dashboard-minimal/kubernetes-dashboard/g 
    • 創建kubernetes-dashboard-rbac.yaml
      下載的部署文件,有個地方需要註意下,它裏面創建的一個ServiceAccount=kubernetes-dashboard,授予它的權限都是只操作kube-system裏面的資源,而創建的deployment使用的ServiceAccount就是kubernetes-dashboard,因此你訪問dashboard時對其它namespace的資源將無權查看,因此,要想dashboard能查看到其它namespace的資源需要重新創建RBAC權限。

    創建kubernetes-dashboard-rbac.yaml,內容如下:

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: dashboard
      namespace: kube-system
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: dashboard
    subjects:
      - kind: ServiceAccount
        name: dashboard
        namespace: kube-system
    roleRef:
      kind: ClusterRole
      name: cluster-admin  #將集群管理員的角色賦予dashboard
      apiGroup: rbac.authorization.k8s.io

    創建好後,在下載的部署文件中有個地方改下,之前說到的deployment用到的ServiceAccount是kubernetes-dashboard ,需要把它改成這裏創建的ServiceAccount為dashboard。

    • 開始部署:
    kubectl create -f dashboard-rbac.yaml -f kubernetes-dashboard.yaml  #先部署RBAC再部署deployment
    root@ubuntu15:/data/dashboard# kubectl get deploy,pod,svc -n kube-system 
    NAME                              DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    deploy/kubernetes-dashboard       1         1         1            1           1h
    
    NAME                                           READY     STATUS    RESTARTS   AGE
    po/kubernetes-dashboard-56466b7cbf-x4z99       1/1       Running   0          1h
    
    NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
    svc/kubernetes-dashboard   ClusterIP   10.254.160.221   <none>        443/TCP         1h
    
    dashboard# kubectl get pod -n kube-system  -o wide
    NAME                                       READY     STATUS    RESTARTS    AGE         IP             NODE
    kubernetes-dashboard-56466b7cbf-x4z99       1/1       Running    0          1h        172.30.11.7    10.3.1.17
    
    • 訪問之前的配置

      根據官方文檔的配置手冊,訪問方式較之前的版本不同,需要運行kubectl proxy ,打開localhsot 8001端口,且運行在前臺 , 這裏我們把它運行在後臺:

      kubectl proxy --address=0.0.0.0 --port=8001 --accept-hosts=‘^.*‘ &
      

      官方文檔上給出的訪問方式:

      To access HTTPS endpoint of dashboard go to: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

      打開頁面後在彈出的認證對話框中,直接跳過即可。

    Kubernetes之dashboard1.8的部署