容器管理工具 Rancher

什么是 Rancher

  Rancher 是一个开源的企业级全栈化容器部署及管理平台。Rancher 为容器提供一揽子基础 架构服务:CNI 兼容的网络服务、存储服务、主机管理、负载均衡、防护墙……

Rancher 让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应用 部署和管理

https://www.cnrancher.com/

Rancher 安装

下载 Rancher 镜像

1
docker pull rancher/server

创建 Rancher 容器

1
docker run -di --name=rancher --restart=always -p 9090:8080 rancher/server
1
2
3
4
5
6
7
restart 为重启策略
	no,默认策略,在容器退出时不重启容器
	on-failure,在容器非正常退出时(退出状态非 0),才会重启容器
	on-failure:3,在容器非正常退出时重启容器,最多重启 3 次
	always,在容器退出时总是重启容器
	unless-stopped,在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动
时就已经停止了的容器

Rancher 初始化

添加环境

Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服务,并由一个或多个用户、团队或组织所管理。 例如,您可以创建独立的“开发”、“测试”及“生产”环境以确保环境之间的安全隔离,将“开发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限给一个小的团队。

InfluxDB

什么 InfluxDB

  influxDB 是一个分布式时间序列数据库。cAdvisor 仅仅显示实时信息,但是不存储监视数据。 因此,我们需要提供时序数据库用于存储 cAdvisor 组件所提供的监控信息,以便显示除实时 信息之外的时序数据。

InfluxDB 安装

下载镜像

1
docker pull tutum/influxdb

创建容器

1
docker run -di -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxsrv tutum/influxdb

端口概述: 8083 端口:web 访问端口 8086:数据写入端口

InfluxDB 常用操作

创建数据库

1
CREATE DATABASE "cadvisor" 回车创建数据库

回车创建数据库

1
SHOW DATABASES

创建用户并授权
创建用户

1
CREATE USER "cadvisor" WITH PASSWORD 'cadvisor' WITH ALL PRIVILEGES

查看用户

1
SHOW USRES

用户授权

1
2
3
grant all privileges on cadvisor to cadvisor
grant WRITE on cadvisor to cadvisor
grant READ on cadvisor to cadvisor

查询采集的数据
切换到 cadvisor 数据库,使用以下命令查看采集的数据

1
SHOW MEASUREMENTS

现在我们还没有数据,如果想采集系统的数据,我们需要使用 Cadvisor 软件来实现

cAdvisor

什么 cAdvisor

  Google 开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置 就可以通过运行在 Docker 主机上的容器来监控 Docker 容器,而且可以监控 Docker 主机。更 多详细操作和配置选项可以查看 Github 上的 cAdvisor 项目文档。

cAdvisor 安装

下载镜像

1
docker pull google/cadvisor

创建容器

1
2
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw -- volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro -- publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor
google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor - storage_driver_host=influxsrv:8086

WEB 前端访问地址
http://192.168.2.2:8080/containers/
性能指标含义参照如下地址
https://blog.csdn.net/ZHANG_H_A/article/details/53097084
再次查看 influxDB,发现已经有很多数据被采集进去了。

Grafana

什么是 Grafana

  Grafana 是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功 能齐全的度量仪表盘和图形编辑器。支持 Graphite、zabbix、InfluxDB、Prometheus 和 OpenTSDB 作为数据源。Grafana 主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和 夜间模式;多个数据源。

Grafana 安装

下载镜像

1
docker pull grafana/grafana

创建容器

1
2
3
4
docker run -d -p 3001:3000 -e INFLUXDB_HOST=influxsrv -e
INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=cadvisor -e
INFLUXDB_PASS=cadvisor --link influxsrv:influxsrv --name grafana
grafana/grafana