如何修复此错误“watch chan 错误:etcdserver:mvcc:所需修订已被压缩”?

Lad*_*uii 6 etcd kubernetes kubernetes-health-check

我有一个带有两个节点的 kubernetes 集群,还有两个用于 etcd 的节点,而且我正在对我的 kubernetes 使用身份验证。当我运行此命令时:kubectl get cs我得到以下输出:

NAME                 STATUS      MESSAGE                                                                                        ERROR
scheduler            Unhealthy   Get http://127.0.0.1:10251/healthz: dial tcp 127.0.0.1:10251: getsockopt: connection refused   
controller-manager   Healthy     ok                                                                                             
etcd-1               Healthy     {"health": "true"}                                                                             
etcd-0               Healthy     {"health": "true"}   
Run Code Online (Sandbox Code Playgroud)

当我检查 kube-apiserver 的日志时,出现以下错误:

E0516 22:28:14.312855       1 watcher.go:188] watch chan error: etcdserver: mvcc: required revision has been compacted
Run Code Online (Sandbox Code Playgroud)

这个错误是什么?我该如何解决这个问题?

我的 kube-controller-manager 也收到此警告:

W0516 22:28:14.314137       1 reflector.go:323] k8s.io/kubernetes/pkg/controller/garbagecollector/graph_builder.go:192: watch of <nil> ended with: etcdserver: mvcc: required revision has been compacted
Run Code Online (Sandbox Code Playgroud)

对于我的 kube 调度程序:

W0516 10:43:38.097940       1 reflector.go:323] k8s.io/kubernetes/plugin/pkg/scheduler/factory/factory.go:451: watch of *v1.Pod ended with: too old resource version: 2153673 (2154157)
Run Code Online (Sandbox Code Playgroud)

我的 kubernetes 版本是 1.6.3

我真的很感谢你的帮助:)

小智 0

将etcd版本更新到3.0.11或更高版本

https://github.com/kubernetes/kubernetes/issues/45506