diff --git a/pkg/storage/storagebackend/factory/etcd3.go b/pkg/storage/storagebackend/factory/etcd3.go index 6bac74243..0d1b4a1fc 100644 --- a/pkg/storage/storagebackend/factory/etcd3.go +++ b/pkg/storage/storagebackend/factory/etcd3.go @@ -72,10 +72,12 @@ func newETCD3HealthCheck(c storagebackend.Config) (func() error, error) { client := clientValue.Load().(*clientv3.Client) ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) defer cancel() - if _, err := client.Cluster.MemberList(ctx); err != nil { - return fmt.Errorf("error listing etcd members: %v", err) + // See https://github.com/etcd-io/etcd/blob/master/etcdctl/ctlv3/command/ep_command.go#L118 + _, err := client.Get(ctx, "health") + if err == nil { + return nil } - return nil + return fmt.Errorf("error getting data from etcd: %v", err) }, nil }