Kubernets dashboard

Kubernets (k8s) 是一個開源的系統,可以用於自動部署,彈性拓展,以及管理容器應用程式。

可以將 containers 統整成 group,並且統一放到一個 Node 的邏輯單元進行管理,及直接用在各種正式的 server 環境。而 Google 就是以這樣的管理模式,每週管理超過數十億個容器,並且在不增加負擔的情況下,輕鬆地完成擴大規模。

在 Docker for mac 預設就提供了 k8s 的安裝

只要開啟 preferences 介面,就會看到 k8s 選項

在這裡我們將它直接啟動,並且同時勾選 Show system containers(advanced) ,就能看到自動安裝 Kubernetes 相關的 containers

安裝 kubernetes-dashboard 服務:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

看到以下內容代表安裝完成

serviceaccount "kubernetes-dashboard" created
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
deployment.apps "kubernetes-dashboard" created
service "kubernetes-dashboard" created

透過以下指令可以查看目前部署的容器及服務

kubectl get deployments --namespace kube-system

#顯示以下訊息
NAME                        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kube-dns                    1         1         1            1           22m
kubernetes-dashboard-head   1         1         1            0           1m

執行 kubernetes-dashboard cluster

透過以下指令啟用 cluster

kubectl proxy

#顯示以下訊息
Starting to serve on 127.0.0.1:8001

啟動完成,直接訪問 localhost:8001 可以看到 API proxy 內容

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

並且顯示需要登入

在這裏,我們選擇透過 token

首先在 cli 產生 token 用來登入

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

接著,就能進入儀表板