[关闭]
@yanglfyangl 2018-05-31T12:06:26.000000Z 字数 1586 阅读 766

系统运维方案

参考:

十分钟带你理解Kubernetes核心概念
京东如何由“调用链”实现多维度的分布式跟踪?
[运维]ELK实现日志监控告警
Kibana 可视化监控报警插件 KAAE 的介绍与使用

建议:

需要将如下组件有效的利用起来,形成一整套解决方案

  • Jeknis
  • Test-Assured(基于Rest-Assured的封装)
  • K8s
  • Docker
  • ELK
  • 调用链(APM)
  • 系统监控(AOM)
  • *

介绍

下面的图很好的描述了运维的工作能力
此处输入图片的描述

下面一图介绍了DevOps需要负责的领域
此处输入图片的描述

微服务下对Devops的要求和建议

  • 各种包,特别是基础包严格的版本控制。
  • 自动化一键部署(无变化不更新,加速流程)。
  • 自动化测试,上报问题。
  • 基础组件的性能调优(Tomcat, JVM,数据库,中间件。。。)
  • 全方位监控与预防(包括资源,业务,风险三个方面)。
  • 自动化的异常事件应对。

K8s

此处输入图片的描述

主要包括:

  • Pod
    1. 只能使用localhost互相通信;
    2. 不是持续性实体;(用 持久性的卷 来解决存储问题)
    3. 是一个短暂的;(重启地址会变,所以最好用Service来解决)
      因为上面的这些问题,所以Pod最好由RC(自制控制器来创建,而不是手工创建)
  • Container(容器)
  • Label(label)(标签)
    用于给Pod打标记;
    比如(tier=backend, app=myapp
  • Replication Controller(复制控制器)
    Replication Controller确保任意时间都有指定数量的Pod“副本”在运行。

  • Service(enter image description here)(服务)
    Service的主要工作就是通过Label找到Pod组

  • Node(节点)
    指物理机或者虚拟机。
  • Kubernetes Master(Kubernetes主节点)
    master节点包括用来创建和复制Pod的Replication Controller。
    同时还有API Server,可以通过API与集群交互

Docker

此处输入图片的描述

简单示例:

  1. FROM centos:6.7
  2. MAINTAINER chenyufeng "yufengcode@gmail.com"
  3.  
  4. # 设置当前工具目录
  5. # 该命令不会新增镜像层
  6. WORKDIR /home
  7.  
  8. # 安装必要的工具
  9. RUN yum install -y wget && \
  10.     rpm --rebuilddb && \
  11.     yum clean all
  12.  
  13. # 设置环境变量
  14. ENV JAVA_HOME /home/jdk1.8.0_131
  15. # 暴露tomcat 8080端口
  16. EXPOSE 8080
  17.  
  18. ENTRYPOINT /home/tomcat/bin/startup.sh && tail -f /home/tomcat/logs/catalina.out
  19.  
  20. # 创建容器启动tomcat
  21. CMD ["/home/tomcat/bin/startup.sh"]

调用链

调用链非常重要的几个功能有

  • 吞吐量,根据拓扑可相应计算组件、平台、物理设备的实时吞吐量。
  • 响应时间,包括整体调用的响应时间和各个服务的响应时间等。
  • 错误记录,根据服务返回统计单位时间异常次数。
  • 告警功能,提供各种阀值警告功能。

ELK

可以使用KAAE 来支持报警

邮件监控

主要功能是监听某个特定的邮件,根据邮件的内容来进行合理的操作。需要支持的功能有

  1. 监听某个特定人发送的特定邮件(可配置)
  2. 根据不同的邮件内容执行不同的操作(可配置)

这样,不管是AOM, APM, ELK,我们可以根据自己的逻辑定义各种不同的邮件格式,然后在收到不同格式的邮件的时候,定义和执行不同的策略。

整体工作流程

Created with Raphaël 2.1.2外部环境外部环境运维运维系统系统APMAPMAOMAOM邮件邮件自动处理中心自动处理中心K8sK8s初始化配置配置监控监控消息:系统内存满“MemoryTooLow”邮件重建新节点,退出老节点消息:XXX服务负载重发现问题"TooHeavyOverload"增加新节点
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注