项目描述:
前端用SLB做四层负载均衡,反代到后端nginx ingress controller
H5静态资源使用CDN回源到 nginx ingress
后端服务在kubernetes里, 以ingress nginx controller为集群入口, 为每个程序增加service和hpa
efk抓取日志并展示
根据不同业务不同的产品交付制作docker镜像
根据git tag来制作不同镜像版本
使用prometheus监控容器状况
责任描述:
根据交付的产品编写dockerfile,制作docker镜像
使用SLB来负载api server
根据代码层次设计了运维架构: 流量从SLB为入口轮询到kubernetes的各node上, 每个node上有nginx ingress contr
oller来响应请求, 避免了少量入口并发过高导致负载过高, 不可中断进程太多的情况, 后端和前端都作为service的EndP
oint, ingress根据不同路径转发给不同service
通过日志和jvm分析出pod和docker镜像的缺陷, 不断优化确保线上容器的稳定运行
针对service的不同EndPoint的指标做HPA, 触发之后可以动态扩缩容
设计日志系统架构: 非生产环境采用pod挂载nfs来,使得开发人员可以在堡垒机上查看日志. 生产环境采用Fluentd采集
每个节点的日志后储存到elastic search, 前端用kibana查看.
设计监控架构: 采集pod的metrics存储到Prometheus, 自定义服务节点的metrics, 前端采用grafana可视化图表
根据公司常用软件设计了部署架构: 源码从gitlab不同分支和tag开始归属不同负责人, 非生产环境可以用webhook触发
jenkins, jenkins可以调用内网的nexus和sonar来进行自动编译和代码检查
根据Prometheus的metrcis指标来确定是否扩缩容主机: 然后调用阿里云各组件api调用,如验签, 批量设置等来申请新
主机操作初始化, 加入集群以缓解集群状态
通过rbac授权用户组来配置只读用户给相关开发人员