etcd-wrapper
configures and starts an embedded etcd.
In gardener context, each control plane (whether it is part of a seed or a shoot) gets its own etcd cluster. An etcd cluster is realized as a StatefulSet.
Each etcd member is a two container Pod
which consists of:
etcd-wrapper
which is the main etcd process.- etcd-backup-restore sidecar which currently provides the following
capabilities (the list is not comprehensive):
- etcd DB validation.
- Scheduled DB defragmentation.
- Snapshotting - delta and full snapshots are taken at regularly.
- Backup - delta and full snapshots are backed in an object store if one is configured.
- Restoration - In case of a DB corruption for a single member cluster it helps in restoring from last full snapshot.
- Member control operations e.g. adding the peer
etcd
process as a learner.
etcd-wrapper
currently depends upon backup-restore
sidecar container for the following:
- Validation of etcd DB
- Optionally restore the etcd DB from the backup object store in case the DB is corrupt (this is only relevant in a single node etcd cluster).
- Provide user provided etcd configuration.
To learn more about etcd-wrapper
see /docs
directory, please find the index here.
- It is currently not possible to productively use
etcd-wrapper
without its sidecar(etcd-backup-restore). We intend to change this in the near future to make it possible to even productively consumeetcd-wrapper
independently.
We always look forward to active community engagement.
Please report bugs or suggestions on how we can enhance etcd-wrapper
on Github Issues.
- For more information on gardener refer to the docs.
- For more information on the etcd operator that is used in gardener see etcd-druid.