@yanglfyangl
2018-05-31T12:06:26.000000Z
字数 1586
阅读 766
参考:
十分钟带你理解Kubernetes核心概念
京东如何由“调用链”实现多维度的分布式跟踪?
[运维]ELK实现日志监控告警
Kibana 可视化监控报警插件 KAAE 的介绍与使用
需要将如下组件有效的利用起来,形成一整套解决方案
- Jeknis
- Test-Assured(基于Rest-Assured的封装)
- K8s
- Docker
- ELK
- 调用链(APM)
- 系统监控(AOM)
*
下面的图很好的描述了运维的工作能力。
下面一图介绍了DevOps需要负责的领域
- 各种包,特别是基础包严格的版本控制。
- 自动化一键部署(无变化不更新,加速流程)。
- 自动化测试,上报问题。
- 基础组件的性能调优(Tomcat, JVM,数据库,中间件。。。)
- 全方位监控与预防(包括资源,业务,风险三个方面)。
- 自动化的异常事件应对。
主要包括:
- Pod
- 只能使用localhost互相通信;
- 不是持续性实体;(用 持久性的卷 来解决存储问题)
- 是一个短暂的;(重启地址会变,所以最好用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与集群交互
简单示例:
FROM centos:6.7
MAINTAINER chenyufeng "yufengcode@gmail.com"
# 设置当前工具目录
# 该命令不会新增镜像层
WORKDIR /home
# 安装必要的工具
RUN yum install -y wget && \
rpm --rebuilddb && \
yum clean all
# 设置环境变量
ENV JAVA_HOME /home/jdk1.8.0_131
# 暴露tomcat 8080端口
EXPOSE 8080
ENTRYPOINT /home/tomcat/bin/startup.sh && tail -f /home/tomcat/logs/catalina.out
# 创建容器启动tomcat
CMD ["/home/tomcat/bin/startup.sh"]
调用链非常重要的几个功能有
- 吞吐量,根据拓扑可相应计算组件、平台、物理设备的实时吞吐量。
- 响应时间,包括整体调用的响应时间和各个服务的响应时间等。
- 错误记录,根据服务返回统计单位时间异常次数。
- 告警功能,提供各种阀值警告功能。
可以使用KAAE 来支持报警
主要功能是监听某个特定的邮件,根据邮件的内容来进行合理的操作。需要支持的功能有
这样,不管是AOM, APM, ELK,我们可以根据自己的逻辑定义各种不同的邮件格式,然后在收到不同格式的邮件的时候,定义和执行不同的策略。