搭建一个基于containerd的高可用Kubernetes集群
前言
上一年的这个时候, 笔者捣鼓完那个用minikube做的demo用minikube模拟基于Kubernetes平台的容器化改造之后, 就一直惦记着要不要弄一个自己用的kubernetes高可用集群, 再写个专题.
现在来填坑了!
上一年的这个时候, 笔者捣鼓完那个用minikube做的demo用minikube模拟基于Kubernetes平台的容器化改造之后, 就一直惦记着要不要弄一个自己用的kubernetes高可用集群, 再写个专题.
现在来填坑了!
上周随手点开了自己的网站, 才发现SSL证书已经过期一周多了, 继而才想起这个网站已经上线一年了.
新手整出1GB的镜像, 说能跑就行. 老手看不下去给Dockerfile改了几行, 最后出来的镜像只有27MB, 一样能跑.
介绍HLS(HTTP Live Streaming), 以及自制m3u8播放链接的步骤
自从开始了这个ELK专题之后, 笔者就一直都在Elastic Stack的框架下介绍里面的各种应用. 目前有覆盖到的有Elasticsearch, Logstash, Kibana, Beats(filebeat, metricbeat), 但是在真实的生产环境下, 做技术选型的时候往往还会依据现实的需要加入其它类型的中间件. 比如说, 为了进一步加强日志系统集群的健壮性, 我们还可以考虑增加一个消息队列的中间件.
在本文中, 我们就尝试着为ELK集群增加一个Kafka.
需要说明的是, 在前面的章节中介绍到的方案, 会把原始日志里面的json内容当做是纯文本去处理, 去到Logstash的时候再识别成json格式, 过程显得繁琐.
在最后的拾遗部分, 会再提供一个简便一点的方案.
在运维的技术栈里面,说到监控系统,大多数人可能首先想到的对后台服务器的CPU、内存、网络流量、磁盘IO等性能指标监控起来。要是再深入一点,可能会再做一个日志监控,把各个事务的日志统计起来,可以跟踪各个事务的时间和数量的分布等等。
那假如,我们想更深入一层,想要知道各个API在处理事务的过程中在每个步骤上都花了多少时间呢?比方说,有一个接口GET /user_info/<user_id>,服务器在处理这个接口的时候需要从数据库上使用user_id查询用户的昵称,同时请求其他API得到玩家的排行榜信息。我们自然可以使用日志打点的方式把这些步骤都记录下来,再通过ELK的日志监控去完成,但这样无疑会增加大量的开发成本,而且很有可能需要反复打磨才能获得一个满足各个场景的通用标准。
而今天要说的Elastic APM(application performance monitoring)就是专门针对这种场景的通用解决方案。

发现内存告警,初级运维搞扩容,中级运维调参数,高级运维骂开发(误)。