前言

本章节主要包行两个部分
  • 官方dashboard部署,版本是1.6.3(1.5.0我也试过成功的)
  • 给dashboard加上仪表盘监控,我们安装heapster为dashboard安装统计功能和仪表盘

      如下图

1.安装dashboard

       这是官方的dashboard地址:

       https://github.com/kubernetes/dashboard#kubernetes-dashboard

       https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

1.1 首先先下载docker镜像

             国内我一般会选择时速云镜像仓库:https://hub.tenxcloud.com/repos/google_containers/kubernetes-dashboard-amd64

             阿里云镜像也是不错的,版本比较新,但是需要注册阿里云账号

             kubernetes dashboard插件在时速云没有1.6.3的版本,我这里使用了阿里云的仓库拉取的版本

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.6.3   

             如果有自己的私有仓库,可以把镜像推送到自己的仓库,比如推送到百度的registry.baidu.com

 docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.6.3   registry.baidu.cim/google-containers/kubernetes-dashboard-amd64:v1.6.3

 docker push  registry.baidu.cim/google-containers/kubernetes-dashboard-amd64:v1.6.3

1.2 获取dashboard的deployment的yaml文件,请见附件

       kubernetes-dashboard-v1.6.3.yaml

       注意这里的配置:

       imagePullPolicy: IfNotPresent 代表如果镜像已经在本地就不会再从远程仓库拉取

       - --apiserver-host务必配置正确

       

       执行: kubectl create -f kubernetes-dashboard-v1.6.3.yaml     部署完成

       执行: kubectl get service --all-namespaces | grep dashboard   查看是否已经部署完成,如下图片表示确实已经部署

                  

1.3 访问 http://10.145.84.68:8080/ui 就可以看到ui界面       

       

2. 安装heapster

    heapster整个安装需要三个组件:heapster、grafana和influxdb

    heapster用于收集监控数据,granfana用于图表展示,influxdb用于存储数据

2.1 下载镜像

   docker pull registry.baidu.com/google-containers/heapster-amd64:v1.3.0

   docker pull registry.baidu.com/google-containers/heapster-grafana-amd64:v4.4.1

   docker pull registry.baidu.com/google-containers/heapster-influxdb-amd64:v1.1.1

2.2 部署

   在附件中获取如下三个文件heapster.yaml, grafana.yaml, influxdb.yaml

2.2.1 先安装influxdb

      执行 kubectl create -f infludb.yaml

2.2.2 安装heapster  

   heapster.yaml中注意如下配置:这里通过insecure-port(非https)的方式连入kube-apiserver。apiServer在secure port(443)上是有client端证书校验的,需要有专门的安全配置才可以,这里先使用非安全方式接入进行实践

–source指示数据源,heapster是支持多种数据源的,这里用的是“kubernetes”类型的数据源

–sink,这个传入的就是存储后端,我们使用了InfluxDB,这里传入的就是上面创建的InfluxDB service的域名和端口号,我们在cluster中也能查找到该Service的信息:


2.2.3 安装grafana

      执行 kubectl create -f grafana.yaml

      

      grafana安装我打开了nodePort,可以通过nodePort可以查看grafana本身的监控页面,非常棒的页面

      访问:http://10.145.84.68:31031

      

2.3 查看heasper相关组件安装是否成功

执行:kubectl get pod --namespace=kube-system

           kubectl get service --namespace=kube-system

如果安装过程有问题可以查看日志

# kubectl logs -f pods/influxdb-grafana-xxxxxx influxdb -n kube-system

# kubectl logs -f pods/influxdb-grafana-xxxxxx grafana -n kube-system

# kubectl logs -f pods/heapster-xxxxx -n kube-system

3.  验收

     查看整个dashboard页面是否安装成功

     http://10.145.84.68:8080/ui

   

Logo

开源、云原生的融合云平台

更多推荐