etcd

  • A distributed key-value data store which stores the state of the system and the objects

  • Use Raft protocol to coordinate the data access in distributed setup

  • You can influence the way the API Server is using etcd via a number of options at start-up timearrow-up-right. --etcd-servers List of etcd servers to connect with (scheme://ip:port)

  • Kubernetes stores its objects in etcd either as a JSON string or in Protocol Buffersarrow-up-right(“protobuf” for short) format

Flow from kubectl create -f pod.yaml to object in etcd

  • Get the version from http path (e.g. v1 or v1beta1)

  • Create the empty object using Schemearrow-up-right in the right version

  • JSON or protobuf decoder converts the payload into object

Last updated