Прерывистые сбои в сети Kubernetes с анонимным auth = false - PullRequest
0 голосов
/ 15 мая 2018

У нас есть кластер kubernetes (v1.10.2), который ведет себя очень странно, когда мы устанавливаем false флаг "anonymous-auth" .Мы используем плагин фланелевой сети, и журналы в фланелевой док-станции, связанные с этой проблемой, следующие:

E0515 09:59:13.396856       1 streamwatcher.go:109] Unable to decode an event from the watch stream: http2: server sent GOAWAY and closed the connection; LastStreamID=5, ErrCode=NO_ERROR, debug=""
E0515 09:59:13.397503       1 reflector.go:304] github.com/coreos/flannel/subnet/kube/kube.go:295: Failed to watch *v1.Node: Get https://10.96.0.1:443/api/v1/nodes?resourceVersion=167760&timeoutSeconds=469&watch=true: dial tcp 10.96.0.1:443: getsockopt: connection refused
E0515 09:59:14.398383       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:295: Failed to list *v1.Node: Get https://10.96.0.1:443/api/v1/nodes?resourceVersion=0: dial tcp 10.96.0.1:443: getsockopt: connection refused
E0515 09:59:15.419773       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:295: Failed to list *v1.Node: Get https://10.96.0.1:443/api/v1/nodes?resourceVersion=0: dial tcp 10.96.0.1:443: getsockopt: connection refused
E0515 09:59:16.420411       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:295: Failed to list *v1.Node: Get https://10.96.0.1:443/api/v1/nodes?resourceVersion=0: dial tcp 10.96.0.1:443: getsockopt: connection refused

Кроме того, события (kubectl get events), связанные с этой проблемой, выглядят так:

kube-system ........ kube-apiserver-{hash} Pod spec.containers{kube-apiserver} Warning Unhealthy kubelet, {...} Liveness probe failed: HTTP probe failed with statuscode: 401

Эта проблема возникает случайно, каждые несколько минут кластер kubernetes не отвечает в течение этого времени (The connection to the server xx.xx.xx.xx was refused - did you specify the right host or port?) в течение нескольких минут (снова случайно) и восстанавливается сам.

1 Ответ

0 голосов
/ 16 мая 2018

вы используете аписервер как статический модуль?определена ли проверка работоспособности для вызова конечной точки / healthz?если это так, скорее всего, он запускается как анонимный пользователь и не работает, когда анонимные запросы отключены, что вызывает перезапуск модуля apiserver

...