3

THis page mentioned Kubernetes API datastore -- https://projectcalico.docs.tigera.io/getting-started/kubernetes/flannel/flannel -- and it seems to suggest that Kubernetes API datastore is a replacement of etcd.

But I have not found more info on this "Kubernetes API datastore" and I do not know how to check if my current k8s instance is using "Kubernetes API datastore" or etcd as data storage component.

Could anyone tell me more about it?

Jing He
  • 141

2 Answers2

2

So, it seems you must click on the last box of each "geek details" to have it show you the trade-offs: the datastore etcd

or you can view them in their source repo: https://github.com/projectcalico/calico/blob/master/calico/_includes/geek-details/datastore-kubernetes.md and https://github.com/projectcalico/calico/blob/master/calico/_includes/geek-details/datastore-etcd.md

The best tl;dr I can come up with is: if you have so many Pods that you end up overwhelming your kubernetes API with just Calico api chatter, then you can run a separate, dedicated, etcd just for Calico. Otherwise, pick the Kubernetes API because it's one less moving part to keep healthy

My experience is that it is a special circle of hell trying to keep an etcd cluster alive and healthy, so I would not wish a 2nd one upon my worst enemy (with the first one being the mandatory one backing the Kubernetes control plane)

mdaniel
  • 2,671
1

I had the same question and came here, but the answer above didn't help much. I was looking for more of a "how do I know if my Kubernetes cluster is using a Kubernetes API datastore or etcd?" (so I can install the correct Calico datastore driver).

I found the link shown below of an article on Tigera's website explaining the difference. This is my understanding of what it says:

  • The Kubernetes API datastore is an implementation of etcd (specifically implemented in Kubernetes), but not a "pure" or exact install of etcd (as if you installed it yourself from etcd directly).
  • etcd is a an installation of etcd (from etcd directly) and not specifically made for Kubernetes.

source: https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/the-calico-datastore

That's at least what I got from it. Hope this helps!

jdstone
  • 51