传统开发测试运维流程


基于云平台大大提高开发测试效率

容器云解决的问题

技术栈选择

IAAS基础设施即服务
CAAS 容器即服务和SAAS做的事情一样 只是换了一种方式
虚拟机VS容器

容器对资源进行隔离 是内核态的
容器云定位

容器云部署流程

设计理念

容器选型

容器平台全局架构

1、SCM是代码库版本管理
2、cAdvisor收集容器情况汇报给heapster
3、heapster再把监控数据放到时序数据库influxDB
4、日志采集使用阿里开源组件log-pilot
log-pilot将Docker里面打印的日志采集到宿主机
flume采集宿主机日志到kafka
Kafka上传到大数据平台(hadoop平台)
5、网络插件使用CNI+DHCP
6、镜像仓库使用Harbor
可视化云平台
实例管理

CPU分1核、2核、4核
内存分2G、4G、6G
容器监控

镜像管理

镜像仓库Harbor

监控实现


云平台再从influxDB中读取监控数据

日志采集


正确方式


日志收集具体实现
项目背景

log-pilot

K8S容器日志目录配置

容器日志采集过程

服务注册发现

云平台登陆


网络方案


Overlay是广义SDN
Flannel是Overlay的一种
结论

Bridge如何通信

VLAN ID是有限的 最大个数是 2^12
对于云网络是不够的
同机房

多机房


1、通过Bridge模式不管原生的二层网络还会三层网络对对Bridge本身都没有影响
2、请求bridge->本地网卡->另外网卡->Bridge
3、无论跨不跨机房都是一样的
有状态服务

ceph是开源c++对象存储 比较复杂

弹性伸缩技术

通用维度

量化维度

需要先确定服务分级
合理维度

日志保存时间
日志文件1小时切割一次、保存7天










