kubernetes最佳实践(二) - dashboard ui和heapster监控部署
前言本章节主要包行两个部分官方dashboard部署,版本是1.6.3(1.5.0我也试过成功的)给dashboard加上仪表盘监控,我们安装heapster为dashboard安装统计功能和仪表盘 如下图1.安装dashboard 这是官方的dashboard地址: https://github.com
前言
- 官方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页面是否安装成功
更多推荐
所有评论(0)