For an HA kubernetes cluster, I don't find confirmation if all etcd members are answering read query from apiserver or direct client access, or only master etcd member is doing read/write operations ?
Write acces is well described, only master etcd member is doing it. But for a K8S cluster with 3 etcd (or more), is only master etcd member working ?
etcd documentation say: << Increasing the cluster size can enhance failure tolerance and provide better read performance. Since clients can read from any member, increasing the number of members increases the overall read throughput.
Decreasing the cluster size can improve the write performance of a cluster, with a trade-off of decreased resilience. Writes into the cluster are replicated to a majority of members of the cluster before considered committed. Decreasing the cluster size lowers the majority, and each write is committed more quickly.>>
https://coreos.com/etcd/docs/latest/v2/runtime-configuration.html
Is it true in K8S implementation context depending of the type of client (apiserver, calico, etc.) ?
Yes, reads are served by any etcd member in an HA Kubernetes cluster