The playbook can install and configure etcd for you.
etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It gracefully handles leader elections during network partitions and can tolerate machine failure, even in the leader node.
See the project's documentation to learn what etcd does and why it might be useful to you.
For details about configuring the Ansible role for etcd, you can check them via:
- 馃寪 the role's documentation online
- 馃搧
roles/galaxy/etcd/docs/configuring-etcd.mdlocally, if you have fetched the Ansible roles
Note
Our current setup and documentation are aiming at running etcd for internal purposes (as a dependency for other services such as APISIX Dashboard and APISIX Gateway). If you need a production deployment, you will need to install multiple etcd instances (on multiple machines) and connect them in a cluster. Please note that this is beyond the scope of our documentation here.
To enable this service, add the following configuration to your vars.yml file and re-run the installation process:
########################################################################
# #
# etcd #
# #
########################################################################
etcd_enabled: true
# By default, the playbook will set a root password by itself.
# If you'd like to set your own, uncomment and explicitly set this.
# etcd_environment_variable_etcd_root_password: ''
# Uncomment this if you'd like to run etcd without password-protection.
# etcd_environment_variable_allow_none_authentication: true
########################################################################
# #
# /etcd #
# #
########################################################################After running the command for installation, the etcd instance becomes available.
As mentioned above, the purpose of the etcd component in this Ansible playbook is to serve as a dependency for other services. For this use-case, you don't need to do anything special beyond enabling the component.
See this section on the role's documentation for details.