

etcd 的 clock diff 问题
source link: https://yanhang.me/post/2020-11-17-etcd-time-diff/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

etcd 的 clock diff 问题
最近碰到一个客户问题,最初始的现象是一个resource的处理逻辑一直不生效,看 k8s apiserver 的日志如下:
这里面没有 call webhook 相关的日志。主要的错误有两类,一是超时,暂时不清楚为啥。另一类是 object conflict, 这个比较奇怪。因为一般 obejct conflict 不会这么普遍,而且一般 controller 都会对此种情况做特殊处理,会自动恢复。从这个日志中能看出来的问题不多,继续排查一下业务相关的 contrller看看线索:
也是大量的 object conflict,非常异常的场景。而且还有一个 invalid object
。到这只能怀疑是不是 etcd 出问题了,因为正常的 controller/apiserver 逻辑不太会触发这么多的此类错误。看 etcd 的日志:
大量的 clock diff
日志,日志意思应该是有一台节点的时间不同步。盲猜可能会导致数据存储的异常,修复时间问题后重启了 apiserver以及相应的 contorller 之后问题修复。看官方提到的 issue 里: Is there any other side effects when the system clock differs on each node, 只说了会影响设置有 TTL 的 object,目前看起来影响远远大于这个。
这个问题的警示是,ETCD的作用太核心了,基于 Kubernetes 的容器平台在监控层面应该尽可能收集多的 etcd 的 metrics 信息,以供管理员决策和提供告警。如果日志不好收集,apiserver 的错误码应该也能提供不少信息。
另一方面,NTP等服务应该作为默认部署的组件,以确保 master 节点在进行调整,维护,扩容或者新增 master 节点的时候,保证时间同步。而不是一次性地校准一次就不管了。
Recommend
-
72
在之前的一篇文章中我们了解了怎么使用ectd的raft的库来实现一个简单的分布式存储,但是只看了应用端对raft的调用以及周边,但是对于raft的库的内部没有做涉及,那么这篇文章我们就深入到raft内部看看其实现的细节。
-
43
-
50
声明:本文对etcd的原理,实现细节,性能等均不考虑,仅将etcd作为一个分布式的K-V存储组件。本文提价代码均在: github.com/yeqown/server-common/tree/...
-
35
今天来看看WAL(Write-Ahead Logging)。这是数据库中保证数据持久化的常用技术,即每次真正操作数据之前,先往磁盘上追加一条日志,由于日志 是追加的,也就是顺序写,而不是随机写,所以写入性能还是很高的。这样做的目的是,如果在写入磁...
-
56
webUI是etcd-browser https://github.com/henszey/etcd-browser.git api接口参考e3w https...
-
41
连接etcd: package main import ( "fmt" "go.etcd.io/etcd/clientv3" "time" ) var ( config clientv3.Config client *clientv3.Client err error ) func main() { //客户端配置 config...
-
30
etcd 原理解析:读《etcd 技术内幕》 这篇文章主要是原理性的内容,本文主要是实践角度,谈谈平时遇到的一些问题、操作和监控 高可用 etcd 是基于 raft算法的分布式...
-
17
mac 安装 etcd 的问题 ...
-
4
golang升级etcd解决 grpc兼容性问题 发表于...
-
4
ETCD的内存问题 ETCD的内存问题 今天跟大家分享一个etcd的内存大量占用的问题,这是前段时间在我们开源软件Easegress中遇到的问题,问题是比较简单的,但是我还想把前因后果说一下,包括,为什么要用etcd,使用etcd的用户场景,...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK