前面博客Kubernetes 全部的操做咱們都是經過命令行工具 kubectl 完成的。爲了提供更豐富的用戶體驗,Kubernetes 還開發了一個基於 Web 的 Dashboard,用戶能夠用 Kubernetes Dashboard 部署容器化的應用、監控應用的狀態、執行故障排查任務以及管理 Kubernetes 各類資源。api
在 Kubernetes Dashboard 中能夠查看集羣中應用的運行狀態,也可以建立和修改各類 Kubernetes 資源,好比 Deployment、Job、DaemonSet 等。用戶能夠 Scale Up/Down Deployment、執行 Rolling Update、重啓某個 Pod 或者經過嚮導部署新的應用。Dashboard 能顯示集羣中各類資源的狀態以及日誌信息。瀏覽器
能夠說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,你們能夠根據狀況進行選擇。app
第一步:安裝工具
Kubernetes 默認沒有部署 Dashboard,可經過以下命令安裝:spa
[root@ken ~]# kubectl apply -f http://mirror.faasx.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml命令行
第二步:查看service設計
[root@ken ~]# kubectl --namespace=kube-system get deployment kubernetes-dashboard NAME READY UP-TO-DATE AVAILABLE AGE kubernetes-dashboard 1/1 1 1 31s [root@ken ~]# kubectl --namespace=kube-system get service kubernetes-dashboard NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes-dashboard NodePort 10.96.4.88 <none> 443/TCP 16m
第三步:容許外部訪問3d
(會佔用終端)日誌
[root@ken ~]# kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
第四步:經過瀏覽器訪問 Dashboard https://172.20.10.2:8001/,登陸界面以下:code
第五步:配置登陸權限
Dashboard 支持 Kubeconfig 和 Token 兩種認證方式,爲了簡化配置,咱們經過配置文件 dashboard-admin.yaml 爲 Dashboard 默認用戶賦予 admin 權限。
[root@ken ~]# cat dashboard-admin.yml apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: kubernetes-dashboard namespace: kube-system
第六步:執行kubectl apply使之生效
[root@ken ~]# kubectl apply -f dashboard-admin.yml
第七步:如今直接點擊登陸頁面的 SKIP 就能夠進入 Dashboard 了。
Dashboard 的界面很簡潔,分爲三個大的區域。
頂部操做區
在這裏用戶能夠搜索集羣中的資源、建立資源或退出。
左邊導航菜單
經過導航菜單能夠查看和管理集羣中的各類資源。菜單項按照資源的層級分爲兩類:
Cluster 級別的資源
Namespace 級別的資源
默認顯示的是 default
Namespace,能夠進行切換:
中間主體區
在導航菜單中點擊了某類資源,中間主體區就會顯示該資源全部實例,好比點擊 Pods
。
接下來咱們介紹幾個 Dashboard 的典型使用場景。
點擊頂部操做區的 + CREATE
按鈕。
用戶能夠直接輸入要部署應用的名字、鏡像、副本數等信息;也能夠上傳 YAML 配置文件。若是是上傳配置文件,則能夠建立任意類型的資源,不單單是 Deployment。
對於每種資源,均可以點擊
按鈕執行各類操做。
好比點擊 View/edit YAML
可直接修改資源的配置,保存後當即生效,其效果與 kubectl edit
同樣。
點擊某個資源實例的名字,能夠查看到詳細信息,其效果與 kubectl describe
同樣。
在 Pod 及其父資源(DaemonSet、ReplicaSet 等)頁面點擊 按鈕,能夠查看 Pod 的日誌,其效果與 kubectl logs
同樣。
Kubernetes Dashboard 界面設計友好,自解釋性強,能夠看做 GUI 版的 kubectl