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的更多相关文章

  1. Kubernetes1.5 集成dashboard

    Kubernetes1.5 集成dashboard 配置kubernetes的dashboard相对简单.同样的,只需要从源码中获取到dashboard-controller.yaml及dashboa ...

  2. Kubernetes 1.5集成heapster

    Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收集本机和容器的资源数据,包括cpu.内存.网络.文 ...

  3. Kubernetes dashboard集成heapster

    图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster . Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: In ...

  4. kubernetes1.30集群部署+dashboard+heapster

    v2.1 1.系统配置 1.1.禁用防火墙.禁用selinux #防火墙禁用 systemctl stop firewalld systemctl disable firewalld #SELinux ...

  5. 安装配置heapster(包含influxdb,grafana)

    前提:已搭建好kubernetes集群.安装完dashboard 默认安装的dashboard无法展示集群的度量指标信息,此时就需要安装heapster插件 Heapster 插件使用包含三部分内容: ...

  6. k8s安装部署过程个人总结及参考文章

    以下是本人安装k8s过程 一.单机配置 1. 环境准备 主机名 IP 配置 master1 192.168.1.181 1C 4G 关闭所有节点的seliux以及firewalld sed -i 's ...

  7. Kubernetes详解

    1.1 Kubernetes简介 1.1.1 什么是Kubernetes Kubernetes (通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写) 是一个以容器为中心的基础架 ...

  8. kubernetes-dashboard(1.8.3)部署与踩坑

    Kubernetes Dashboard 是一个管理Kubernetes集群的全功能Web界面,旨在以UI的方式完全替代命令行工具(kubectl 等). 目录 部署 创建用户 集成Heapster ...

  9. CentOS 7 本地安装kubernetes

    环境 : CentOS7 master    192.168.94.11 node1 192.168.94.22 node2 192.168.94.33 关闭防火墙.SElinux 安装包地址 : 链 ...

随机推荐

  1. ubuntu下创建文件夹快捷方式

    title: ubuntu下创建文件夹快捷方式 toc: false date: 2018-09-01 17:22:28 categories: methods tags: ubuntu 快捷方式 s ...

  2. Kali linux 2016.2(Rolling)中的Exploits模块详解

    简单来将,这个Exploits模块,就是针对不同的已知漏洞的利用程序. root@kali:~# msfconsole Unable to handle kernel NULL pointer der ...

  3. Aspose.Words 操作指北

    前言:   这段时间因为业务需求,需要做一个word 导出,表单式的那种,因为之前也做过NPOI 操作 Excel 这类型的问题,所以总以为word 导出应该挺简单的,一直没有研究这块,汗颜,天真大意 ...

  4. jquery 几种类选择器方式

    代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestClas ...

  5. sublime text3前端常用插件

    安装Package Control 在安装插件之前,需要让sublime安装Package Control.打开Sublime Text的控制台,快捷键ctrl + ~,在控制台中输入以下代码. im ...

  6. [ZJOI2015]诸神眷顾的幻想乡 广义后缀自动机_DFS_语文题

    才知道题目中是只有20个叶子节点的意思QAQ.... 这次的广义后缀自动机只是将 last 设为 1, 并重新插入. 相比于正统的写法,比较浪费空间. Code: #include <cstdi ...

  7. luogu P3396 哈希冲突(分块?)

    我们可以维护一个\(f[i][j]\)代表%\(i\)意义下得\(j\)的答案.然后维护就炸了. 先设\(x=\sqrt{n}\)然后我们发现,当\(i>x\)时我们直接暴力复杂度为\(O(x) ...

  8. Solr全文检索引擎配置及使用方法

    介绍 Solr是一款开源的全文检索引擎,基于lucene.拥有完善的可配置功能界面.具有丰富的查询语言,可扩展,可优化. 下载安装 进入solr官网下载包(这里我使用的版本是8.0) http://w ...

  9. 关于buffer和cache的区别

    1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚 ...

  10. CAD二次开发(02)-添加对象到模型空间

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...