摘要:
## linux线程调度策略 *这是一篇非常好的关于线程调度的资料,翻译自[shed](http://man7.org/linux/man-pages/man7/sched.7.html)* [TOC] 从Linux 2.6.23开始,默认的调度器为CFS,即"完全公平调度器"(Completely 阅读全文
摘要:
用于远程配置alertmanager的rules。 主要步骤为: 通过proxy更新mount的告警规则文件 重启容器 # ./client -h Note: Only for update existed rule group! Usage: server [options...] Options 阅读全文
摘要:
rfc7230 [TOC] 2 Architecture 2.6 Protocol Versioning HTTP使用.来标识协议版本。本规范定义的版本为"1.1"。版本号表示发送端遵从对应HTTP版本的实现需求。 HTTP的版本由消息首行中的HTTP version字段表示。HTTP versio 阅读全文
摘要:
golang 版本:1.12.9 简单的HTTP服务器代码: package main import ( "net/http" ) type TestHandler struct { str string } func (th *TestHandler)ServeHTTP(w http.Respon 阅读全文
摘要:
环境: kubernetes 1.11+/openshift3.11 自定义metric HPA原理: 首选需要注册一个apiservice(custom metrics API)。 当HPA请求metrics时,kube-aggregator(apiservice的controller)会将请求转 阅读全文
摘要:
使用 "velero" 可以对集群进行备份和恢复,降低集群DR造成的影响。velero的基本原理就是将集群的数据备份到对象存储中,在恢复的时候将数据从对象存储中拉取下来。可以从 "官方文档" 查看可接收的对象存储,本地存储可以使用Minio。下面演示使用velero将openstack上的opens 阅读全文
摘要:
使用crio作为runtime后,容器的启动将不依赖docker相关的组件,容器进程更加简洁。如下使用crio作为runtime启动一个nginx的进程信息如下:根进程(1)->conmon->nginx。conmon作用于crio和runc(OCI实现)之间,用于在crio启动容器后托管容器,更多 阅读全文
摘要:
关于thanos的介绍可以参考这篇官方博客的翻译文档,本文不作部署操作介绍。下图是thanos的官方架构图,主要有5个组件: Query:可以近似看作是Prometheus的实现,用于采集其他组件的数据,如sidecar和store gateway。Query的UI与Prometheus基本相同。 阅读全文
摘要:
环境:centos7.4 内核版本3.10 最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket。搜索该参数相关的资料,发现同时启用该参数和tcp_timestamps后有可能在NAT环境下导致客户端始连接失败,抓包 阅读全文
摘要:
环境:centos7.4 内核版本3.10 内核参数net.ipv4.tcp_max_syn_backlog定义了处于SYN_RECV的TCP最大连接数,当处于SYN_RECV状态的TCP连接数超过tcp_max_syn_backlog后,会丢弃后续的SYN报文。 为了测试上述结论,首先将tcp_s 阅读全文