Kubernetes1.5 集成Heapster
Kubernetes1.5 集成Heapster
Heapster是kubernetes集群监控工具。在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收集本机和容器的资源数据,包括cpu、内存、网络、文件系统等。在新版的kubernetes中,cAdvisor被集成到kubelet中。通过netstat可以查看到kubelet新开了一个4194的端口,这就是cAdvisor监听的端口,现在我们然后可以通过http://<node-ip>:4194的方式访问到cAdvisor。Heapster就是通过每个node上的kubelet,也就是实际的cAdvisor上收集数据并汇总,保存到后端存储中。
Heapster支持多种后端存储,包括influxDB,Elasticsearch,Kafka等,在这篇文档里,我们使用influxDB作为后端存储来展示heapster的相关配置。需要说明的是,heapster依赖kubernetes dns配置。具体相关配置请参考另一篇博文《kubernetes 1.5配置dns》。
1、下载heapster
目前heapster的最新版本是1.2版本:
wget https://github.com/kubernetes/heapster/archive/v1.3.0-beta.1.tar.gz
tar xf vv1.3.0-beta.1.tar.gz
cd heapster-1.3.0/deploy/kube-config
cp -r influxdb /data/kubernetes/
上面的操作是下载heapster,然后将其中的influxdb目录复制到我们用于保存相关yaml文件的目录/data/kubernetes目录。其中influxdb目录中包含如下几个文件:

[root@server-116 influxdb]# ll -h
total 20K
-rw-r--r--. 1 root root 414 Mar 15 18:04 grafana-service.yaml
-rw-r--r--. 1 root root 630 Mar 15 21:04 heapster-controller.yaml
-rw-r--r--. 1 root root 249 Mar 15 18:04 heapster-service.yaml
-rw-r--r--. 1 root root 1.5K Mar 15 18:17 influxdb-grafana-controller.yaml
-rw-r--r--. 1 root root 259 Mar 15 18:04 influxdb-service.yaml

我们需要修改相应几个controller文件中的image镜像的地址,还是一样,通过使用阿里云镜像地址dev.aliyun.com, registry.cn-hangzhou.aliyuncs.com/google-containers/heapster-amd64:v1.3.0-beta.1,修改完成以后,直接执行操作如下:
kubectl create -f /data/kubernetes/influxdb
这个时候,我们通过kubectl get pods --all-namespaces命令可以看到两个pod都正常启动,但我们通过dashboard却看不到相应的监控图。通过kubectl logs 查看heapster的容器日志。看到如下报错:

E0315 11:58:16.155096 1 reflector.go:205] k8s.io/heapster/metrics/heapster.go:232: Failed to list *api.Pod: Get https://kubernetes.default/api/v1/pods?resourceVersion=0: x509: certificate is valid for server-116, not kubernetes.default
E0315 11:58:16.168369 1 reflector.go:205] k8s.io/heapster/metrics/processors/namespace_based_enricher.go:84: Failed to list *api.Namespace: Get https://kubernetes.default/api/v1/namespaces?resourceVersion=0: x509: certificate is valid for server-116, not kubernetes.default

从报错可以看出,是无法连接https://kubernetes.default这个地址。我们知道kubernetes.default其实就是apiserver本身,只不过这里是使用了kubernetes的域名系统进行解析。报错是因为连接了apiserver的secure port,需要ssl认证,导致了校验异常。为了规避这种校验,我们可以使用一种取巧的办法,就是使用非insecure-port连接,即apiserver的8080端口。
我们找到heapster-controller.yaml文件,里面有关于其启动参数配置如下:
command:
- /heapster
- --source=kubernetes:https://kubernetes.default
- --sink=influxdb:http://monitoring-influxdb:8086
对两个参数做下简单说明:
--source代表heapster的数据源,即从哪里获取数据,这里当然是从apiserver拿数据
--sink代表heapster获取到的数据存储到哪里,我们这里使用了influxdb,influxdb的地址在influxdb相关的yaml文件中有定义,可以自行查看。
我们要做的,就是修改--source的地址,改成如下配置:
--source=kubernetes:http://10.5.10.116:8080?inClusterConfig=false
其中10.5.10.116即apiserver地址,inClusterConfig=false代表不使用service accounts中的kube config信息。
这样配置以后,我们重新运行heapster,再等一会生成数据,就可以看到如下界面了:

Kubernetes1.5 集成Heapster的更多相关文章
- Kubernetes1.5 集成dashboard
Kubernetes1.5 集成dashboard 配置kubernetes的dashboard相对简单.同样的,只需要从源码中获取到dashboard-controller.yaml及dashboa ...
- Kubernetes 1.5集成heapster
Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收集本机和容器的资源数据,包括cpu.内存.网络.文 ...
- Kubernetes dashboard集成heapster
图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster . Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: In ...
- kubernetes1.30集群部署+dashboard+heapster
v2.1 1.系统配置 1.1.禁用防火墙.禁用selinux #防火墙禁用 systemctl stop firewalld systemctl disable firewalld #SELinux ...
- 安装配置heapster(包含influxdb,grafana)
前提:已搭建好kubernetes集群.安装完dashboard 默认安装的dashboard无法展示集群的度量指标信息,此时就需要安装heapster插件 Heapster 插件使用包含三部分内容: ...
- k8s安装部署过程个人总结及参考文章
以下是本人安装k8s过程 一.单机配置 1. 环境准备 主机名 IP 配置 master1 192.168.1.181 1C 4G 关闭所有节点的seliux以及firewalld sed -i 's ...
- Kubernetes详解
1.1 Kubernetes简介 1.1.1 什么是Kubernetes Kubernetes (通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写) 是一个以容器为中心的基础架 ...
- kubernetes-dashboard(1.8.3)部署与踩坑
Kubernetes Dashboard 是一个管理Kubernetes集群的全功能Web界面,旨在以UI的方式完全替代命令行工具(kubectl 等). 目录 部署 创建用户 集成Heapster ...
- CentOS 7 本地安装kubernetes
环境 : CentOS7 master 192.168.94.11 node1 192.168.94.22 node2 192.168.94.33 关闭防火墙.SElinux 安装包地址 : 链 ...
随机推荐
- ubuntu下创建文件夹快捷方式
title: ubuntu下创建文件夹快捷方式 toc: false date: 2018-09-01 17:22:28 categories: methods tags: ubuntu 快捷方式 s ...
- Kali linux 2016.2(Rolling)中的Exploits模块详解
简单来将,这个Exploits模块,就是针对不同的已知漏洞的利用程序. root@kali:~# msfconsole Unable to handle kernel NULL pointer der ...
- Aspose.Words 操作指北
前言: 这段时间因为业务需求,需要做一个word 导出,表单式的那种,因为之前也做过NPOI 操作 Excel 这类型的问题,所以总以为word 导出应该挺简单的,一直没有研究这块,汗颜,天真大意 ...
- jquery 几种类选择器方式
代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestClas ...
- sublime text3前端常用插件
安装Package Control 在安装插件之前,需要让sublime安装Package Control.打开Sublime Text的控制台,快捷键ctrl + ~,在控制台中输入以下代码. im ...
- [ZJOI2015]诸神眷顾的幻想乡 广义后缀自动机_DFS_语文题
才知道题目中是只有20个叶子节点的意思QAQ.... 这次的广义后缀自动机只是将 last 设为 1, 并重新插入. 相比于正统的写法,比较浪费空间. Code: #include <cstdi ...
- luogu P3396 哈希冲突(分块?)
我们可以维护一个\(f[i][j]\)代表%\(i\)意义下得\(j\)的答案.然后维护就炸了. 先设\(x=\sqrt{n}\)然后我们发现,当\(i>x\)时我们直接暴力复杂度为\(O(x) ...
- Solr全文检索引擎配置及使用方法
介绍 Solr是一款开源的全文检索引擎,基于lucene.拥有完善的可配置功能界面.具有丰富的查询语言,可扩展,可优化. 下载安装 进入solr官网下载包(这里我使用的版本是8.0) http://w ...
- 关于buffer和cache的区别
1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚 ...
- CAD二次开发(02)-添加对象到模型空间
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...