Kubernetes安装系列之Dashboard安装

这篇文章整理一下dashboard plugin的安装与设定方法,本文以脚本的方式进行固化,内容仍然放在github的easypack上。

整体操作

事前准备

使用快速安装和部署的一键脚本,快速搭建kubernetes环境,使用命令为

sh all-k8s-mgnt.sh install all

  • 执行日志信息摘要
## kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:37:52Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:30:26Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

## kubectl cluster-info
Kubernetes master is running at https://192.168.163.131:6443

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

## kubectl get node
NAME              STATUS   ROLES    AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
192.168.163.131   Ready    <none>   4s    v1.13.4   192.168.163.131   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://17.3.2

## kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok                  
controller-manager   Healthy   ok                  
etcd-0               Healthy   {"health":"true"}  

dashboard设定脚本

[[email protected] shell]# cat step9-2-install-plugin-dashboard.sh 
#!/bin/sh

. ./install.cfg
. ./common-util.sh

echo "## please make sure you can get the following images"
grep image etc/plugins/dashboard/kubernetes-dashboard.yaml
echo "## getting the above image ready in advance is preferred, please press any key when ready"
read

echo "## create dashboard service"
kubectl delete -f etc/plugins/dashboard/kubernetes-dashboard.yaml >/dev/null 2>&1
kubectl create -f etc/plugins/dashboard/kubernetes-dashboard.yaml

# create and display dashboard token
create_dashboard_token
sleep 2

display_dashboard_token
sleep 2

echo "## display pods information"
sleep 2 
kubectl get pods -n kube-system

echo "## display service information"
kubectl get service -n kube-system
[[email protected] shell]#

执行日志

[[email protected] shell]# sh all-k8s-mgnt.sh install dashboard
## Sat Mar 30 03:53:06 CST 2019 ACTION: install  Service: dashboard begins ...
## please make sure you can get the following images
        image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
## getting the above image ready in advance is preferred, please press any key when ready

## create dashboard service
secret/kubernetes-dashboard-certs created
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
## create service account for dashboard
serviceaccount/dashboard-admin created
## create clusterrolebinding for dashboard
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
## dashboard_secrete: dashboard-admin-token-44hd5
## dashboard_token: 
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tNDRoZDUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTY5MGI2OWMtNTI1Yy0xMWU5LTkyYzQtMDgwMDI3ZjhiZTZmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.r7FfVZmCU9y3IpLV1VlKXeHGh7whI8J4gqD9r3lq4_AMKv1SSfvbryAJ3aa5bGfq5fidDlH4E2zk1tRk0YyhYjG9nQ-x_fPD7ZUz44PKQ-9an_aUjX5G-kiSz4AbIy-Vd0Ctfrq6kuAh7Nasv0cfwybuzZa8fTNQkC8RVIarcZ57AveKrLdNeCdhUYkHYYLBt11vtk6MiyFAeFy9H7v5IB9Rh82u2es9hDZCl3_cabEyIb4IH82OIBsnhE0EnowV6kEbSDkFSkYYAavTDkwvAt3HZ50Z3efo8CosO5x7sU8MTxhRfew2ZOws0Urx9EoE7GlC3kugI0QNJS_TEjCj6A
## display pods information
NAME                                   READY   STATUS    RESTARTS   AGE
kubernetes-dashboard-57df4db6b-hn4jr   1/1     Running   0          8s
## display service information
NAME                   TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.254.183.151   <none>        443:33307/TCP   8s
## Sat Mar 30 03:53:42 CST 2019 ACTION: install  Service: dashboard ends  ...

[[email protected] shell]# 

注意:在dashboard的yaml文件执行之前,需本地先行将相关的镜像load进来

[[email protected] shell]# docker load -i ~/dashboard.tar 
fbdfe08b001c: Loading layer [==================================================>] 122.3 MB/122.3 MB
Loaded image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
[[email protected] shell]#

使用生成dashboard的service端口进行访问

Kubernetes安装系列之Dashboard安装
输入上文生成的token,便可成功登录dashboard
Kubernetes安装系列之Dashboard安装
由于目前还没有安装heapster等插件,所以资源信息还无法查看,但整体已经可用。
Kubernetes安装系列之Dashboard安装