Невозможно проверить работоспособность кластера ETCD - PullRequest
0 голосов
/ 06 августа 2020

Следуя официальному руководству от (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) для внешнего ETCD высокой доступности, я пытался проверить состояние работоспособности кластера etcd, но возникла ошибка, которую я пытаюсь решить. Пожалуйста, помогите.

Команда, использованная для проверки работоспособности кластера etcd, вызвала ошибку :

docker run --rm -it \
--net host \
-v /etc/kubernetes:/etc/kubernetes k8s.gcr.io/etcd:3.4.3-0 etcdctl \
--cert /etc/kubernetes/pki/etcd/peer.crt \
--key /etc/kubernetes/pki/etcd/peer.key \
--cacert /etc/kubernetes/pki/etcd/ca.crt \
--endpoints https://${HOST0}:2379 endpoint health --cluster

Три хоста без операционной системы, все с включенным ufw, порты 2379 и 2380 разрешено на всех хостах.

Ошибка :

Error: failed to fetch endpoints from etcd cluster member list: context deadline exceeded ```

**etcd docker image**:
``` k8s.gcr.io/etcd     3.4.3-0             303ce5db0e90        9 months ago        288MB ````

1 Ответ

0 голосов
/ 20 августа 2020

Context deadline exceeded - это неясная ошибка, возвращаемая клиентом grp c, когда он не может sh установить соединение. вы можете установить ETCDCTL_API=2, тогда вы получите правильное сообщение об ошибке. Кроме того, вы можете изменить код в etcd для устранения этой ошибки. см. # 10087

Вы можете решить эту проблему, если применил правильную пару сертификат / ключ.

Предполагая, что вы используете kubeadm для раскрутки кластера, в папке должна быть пара пар сертификат / ключ:

# ls -l /etc/kubernetes/pki/etcd/
total 32
-rw-r--r--    1 root     root          1017 Nov 12 15:32 ca.crt
-rw-------    1 root     root          1679 Nov 12 15:32 ca.key
-rw-r--r--    1 root     root          1094 Nov 12 15:32 healthcheck-client.crt
-rw-------    1 root     root          1675 Nov 12 15:32 healthcheck-client.key
-rw-r--r--    1 root     root          1180 Nov 12 15:32 peer.crt
-rw-------    1 root     root          1675 Nov 12 15:32 peer.key
-rw-r--r--    1 root     root          1180 Nov 12 15:32 server.crt
-rw-------    1 root     root          1679 Nov 12 15:32 server.key

# etcdctl --version
etcdctl version: 3.3.1
API version: 2

# ETCDCTL_API=3 etcdctl snapshot save snapshot.db \
  --cacert /etc/kubernetes/pki/etcd/ca.crt \
  --cert /etc/kubernetes/pki/etcd/server.crt \
  --key /etc/kubernetes/pki/etcd/server.key
Snapshot saved at snapshot.db

# ETCDCTL_API=3 etcdctl --write-out=table snapshot status snapshot.db
+----------+----------+------------+------------+
|   HASH   | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| b9d500f7 |    72966 |       1194 |     4.9 MB |

Вы также можете попробовать следовать этой инструкции error-context-deadline-exceeded-accessing .

Взгляните: крайний срок истек .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...