您的位置:首页 > 产品设计 > UI/UE

kubernetes最佳实践(二) - dashboard ui和heapster监控部署

2018-02-07 13:32 841 查看


前言

本章节主要包行两个部分

官方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.yamlgrafana.yamlinfluxdb.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

参考文献:

http://tonybai.com/2017/01/20/integrate-heapster-for-kubernetes-dashboard/

http://tonybai.com/2016/11/25/the-security-settings-for-kubernetes-cluster/

https://yq.aliyun.com/articles/70756 容器镜像服务 Docker镜像的基本使用 阿里云
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: