前言
容器热潮还未消失,想了解docker容器可以来看看,在大型项目,有诸多的容器需要管理时需要搭配k8s编排系统进行监控、负载均衡、管理等服务,监控和数据统计需要搭配CAdvisor、influxdb、granfna使用。
一、docker是什么?为什么要用它?
docker就是容器,什么是容器?为什么要用容器?
容器演变:
容器的主要优势:容器占用资源小、启动快、而且可以针对环境依赖,可移植!
二、k8s是什么?作用是什么?什么情况用?
1.k8s(监管调度方)
对容器实施监控、负载均衡、管理服务、通信、多平台部署的编排系统。
组成部分:
组件解释(作用):
Master:可以连接多个node节点。
Controller Manager:控制平面,用于调度程序以及节点状态检测。
Scheduler:负责资源调度、按照预定的调度策略将Pod调度到相应的机器上。
Etcd:保存整个集群的状态。
Nodes:构成k8s集群的集体计算能力,实际部署容器容器的地方。
Pod:集群下面最小的单位,可以放多个Container。
Container:容器全称。
CAdvisor:具有监控功能得容器。
Kubeet:负责Pod对应容器的创建、启动等任务,同时与master协作管理基本功能。
Kube-Proxy:实现与server的通信和负载均衡。
三、CAdvisor
CAdvisor是一个监控容器,它的出现主要是为了解决镜像的状态信息收集问题,它还提供基础查询界面和http接口供查看。
搭配cadvisor + influxdb + grafana使用,
IInfluxdb时序数据库,监测docker内存信息,还有机器的cpu呀、温度呀、各种信息,针对的是时间点记录,时间作为索引。
grafana仪表盘和图形编辑器,同时也是开源的、功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB。主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源,在K8S中集成在Kubelet里作为默认启动项,官方标配。
文章参考:
6分钟带你快速了解! - 敲代码的阿克的文章 - 知乎 https://zhuanlan.zhihu.com/p/345798544
什么是K8S - 1ang的文章 - 知乎 https://zhuanlan.zhihu.com/p/103124918