Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

context deadline exceeded when check etcd health

Tags:

kubernetes

I am check etcd(3.3.13) cluster status using this command:

[root@iZuf63refzweg1d9dh94t8Z work]# /opt/k8s/bin/etcdctl endpoint health --cluster
https://172.19.150.82:2379 is unhealthy: failed to connect: context deadline exceeded
https://172.19.104.231:2379 is unhealthy: failed to connect: context deadline exceeded
https://172.19.104.230:2379 is unhealthy: failed to connect: context deadline exceeded
Error: unhealthy cluster

check etcd member:

[root@iZuf63refzweg1d9dh94t8Z work]# /opt/k8s/bin/etcdctl member list
    56298c42af788da7, started, azshara-k8s02, https://172.19.104.230:2380, https://172.19.104.230:2379
    5ab2d0e431f00a20, started, azshara-k8s01, https://172.19.104.231:2380, https://172.19.104.231:2379
    84c70bf96ccff30f, started, azshara-k8s03, https://172.19.150.82:2380, https://172.19.150.82:2379

my cluster is deploy success?If not,how to solve the context deadline exceeded error? I tried this:

     export ETCDCTL_API=3
     [root@ops001 ~]# /opt/k8s/bin/etcdctl endpoint status --write-out=table
+----------------+------------------+---------+---------+-----------+-----------+------------+
|    ENDPOINT    |        ID        | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+----------------+------------------+---------+---------+-----------+-----------+------------+
| 127.0.0.1:2379 | 5ab2d0e431f00a20 |  3.3.13 |  2.0 MB |     false |        20 |   39303798 |
+----------------+------------------+---------+---------+-----------+-----------+------------+
[root@ops001 ~]# /opt/k8s/bin/etcdctl endpoint health
127.0.0.1:2379 is healthy: successfully committed proposal: took = 1.816293ms
[root@ops001 ~]# /opt/k8s/bin/etcdctl endpoint health --cluster
https://172.19.150.82:2379 is unhealthy: failed to connect: context deadline exceeded
https://172.19.104.231:2379 is unhealthy: failed to connect: context deadline exceeded
https://172.19.104.230:2379 is unhealthy: failed to connect: context deadline exceeded
Error: unhealthy cluster
like image 886
Dolphin Avatar asked Sep 14 '19 06:09

Dolphin


People also ask

Did not connect context deadline exceeded?

The error 'context deadline exceeded' means that we ran into a situation where a given action was not completed in an expected timeframe. For Vault this is typically going to be related to a network connection made to an external system such as a database or even a storage backend such as Consul.

Where are ETCD logs?

Enabling Debug Logging etcd exposes logging configuration at /config/local/log .


1 Answers

how to solve the context deadline exceeded error?

That error is misleading; it is usually caused by etcdctl not providing credentials and/or not using the same ETCDCTL_API= value as the cluster. If it's a modern etcd version, you'll want export ETCDCTL_API=3, followed by providing the same --cert-file= and --key-file= and likely --trusted-ca-file= as was used to start etcd itself.

like image 194
mdaniel Avatar answered Sep 26 '22 02:09

mdaniel