容器管理与容器监控
发布日期:2021-06-29 11:14:46 浏览次数:2 分类:技术文章

本文共 3215 字,大约阅读时间需要 10 分钟。

前言

本篇文章介绍4个关于容器管理和容器监控的工具,Rancher、influxDB、cAdvisor、Grafana。

Rancher:一个管理容器的工具,可以发布微服务(相当于 docker 的 run 命令,只不过 Rancher 是通过可视化界面来操作),还可对容器进行扩容和缩容操作。
influxDB:一款数据库,只不过当中存储的是各微服务的运行状况,比如内存等信息。
cAdvisor:influxDB 只负责存储并不负责采集这些数据,而 cAdvisor 就是负责采取服务的运行信息并保存到 influxDB 中。
Grafana:用来将 influxDB 中的数据进行可视化,以图表的形式呈现给用户,还可以设置预警,从而自动对服务进行扩缩容。

容器管理工具Rancher

什么是 Rancher

Rancher是一个开源的企业级全栈化容器部署及管理平台。Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务、存储服务、主机管理、负载均衡、防护墙……Rancher让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应用部署和管理。

Rancher 安装

(1)下载Rancher 镜像

docker pull rancher/server

(2)创建Rancher容器

docker run -d --name=rancher --restart=always -p 9090:8080 rancher/server

restart 为重启策略:

  • no,默认策略,在容器退出时不重启容器
  • on-failure,在容器非正常退出时(退出状态非0),才会重启容器
  • on-failure:3,在容器非正常退出时重启容器,最多重启3次
  • always,在容器退出时总是重启容器
  • unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

(3)在浏览器输入地址: http://192.168.184.136:9090 即可看到高端大气的欢迎页,点击Got It 进入主界面

(4)切换至中文界面,点击右下角的 English 在弹出菜单中选择中文

Rancher 初始化

添加环境

① 选择“Default -->环境管理” 菜单

在这里插入图片描述
② 填写名称,点击“创建”按钮
在这里插入图片描述

添加镜像库

在这里插入图片描述

添加主机

① 选择基础架构–>主机 菜单,点击添加主机–>拷贝脚本

在这里插入图片描述
② 在服务器(虚拟机)上运行脚本,这一步需要联网,它需要拉取镜像
在这里插入图片描述
③ 点击关闭按钮后,会看到界面中显示此主机。我们可以很方便地管理主机的每个容器的开启和关闭
在这里插入图片描述

添加应用

① 点击应用–>全部(或用户) ,点击“添加应用”按钮,填写名称和描述

在这里插入图片描述
② 点击“创建”按钮,列表中增加了新增的应用

应用部署

以 MySQL 为例

① 选择“应用”–>“添加服务”
在这里插入图片描述
在这里插入图片描述
如果需要添加环境变量的话,还需要填写环境变量
在这里插入图片描述
点击创建,则创建成功,并是激活状态
在这里插入图片描述

扩容与缩容

前提条件:微服务在创建的时候,不要端口映射。那不映射端口如何访问呢?这时候就必须用到网关了,即 Spring Cloud Zuul

① 在选择菜单API -->WebHooks ,点击“添加接收器”按钮
在这里插入图片描述
② 填写名称等信息,选择要扩容的服务,点击创建按钮
在这里插入图片描述
③ 接收器列表中新增了一条记录 ,点击触发地址将地址复制到剪切板
在这里插入图片描述
④ 使用postman测试,测试后,发现容器由原来的1个变为了3个

缩容与扩容的操作是一样的,只需要将操作改为"缩容"就可以。

influxDB

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

安装

① 下载镜像

docker pull tutum/influxdb

② 创建容器

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

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

打开浏览器 http://192.168.184.135:8083/

常用操作

在这里插入图片描述

cAdvisor

什么是cAdvisor

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

安装

① 下载镜像

docker pull google/cadvisor

② 创建容器

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=tensquare-db -storage_driver_host=influxsrv:8086

WEB前端访问地址

http://192.168.184.135:8080/containers/
③ 再次查看influxDB,发现已经有很多数据被采集进去了。

Grafana

什么是 Grafana

Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器。支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。

Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

安装

① 下载镜像

docker pull grafana/grafana

② 创建容器

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

③ 访问

  用户名密码均为admin

添加数据源

① 点击设置,DataSource

在这里插入图片描述
② 为数据源起个名称,指定类型、地址、以及连接的数据库名、用户名和密码
在这里插入图片描述

添加仪表盘

① 选择Dashboards --Manager

在这里插入图片描述
② 点击Graph 图标
在这里插入图片描述
③ 出现下面图表的界面 ,点击Panel Title 选择Edit (编辑)
在这里插入图片描述
④ 定义标题等基础信息
在这里插入图片描述
⑤ 设置查询的信息为内存,指定容器名称
在这里插入图片描述
⑥ 预警设置,点击图标右边的按钮可以直接滑动
在这里插入图片描述
⑦ 选择通知(前提是已经创建好了),当内存超过设定的值时,自动扩容
在这里插入图片描述
⑧ 保存
在这里插入图片描述

预警设置

① 选择菜单 alerting–> Notification channels

在这里插入图片描述
② 填写名称,选择类型为webhook ,填写钩子地址(这个钩子地址是之前对微服务扩容的地址)
在这里插入图片描述
在这里插入图片描述
③ 点击SendTest 测试 观察基础微服务是否增加容器,点击save保存

转载地址:https://blog.csdn.net/zwj_jyzl/article/details/104297547 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java爬虫框架—WebMagic
下一篇:微服务容器部署与 jenkins 持续集成

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月18日 06时58分35秒