Editing Etcd

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{lc}}
+
[[w:etcd|etcd]] is a distributed [[key/value]] store that uses the [[Raft]] consensus algorithm to manage a highly-available replicated store, it is used as a software component for software such as CoreOS [[Container Linux]] or [[Kubernetes]] and for many organizations such as wikipedia<ref> https://wikitech.wikimedia.org/wiki/Etcd</ref>
[[wikipedia:etcd]] is a distributed [[key-value]] store that uses the [[Raft]] consensus algorithm to manage a highly-available replicated store, it is used as a software component for software such as [[CoreOS]] [[Container Linux]] or [[Kubernetes]] and for many organizations such as wikipedia<ref> https://wikitech.wikimedia.org/wiki/Etcd</ref>
 
  
 
Latency is an important metric as Raft is only as fast as the slowest machine in the majority.
 
Latency is an important metric as Raft is only as fast as the slowest machine in the majority.
Line 6: Line 5:
 
Since etcd’s consensus protocol depends on persistently storing metadata to a log, a majority of etcd cluster members must write every request down to disk
 
Since etcd’s consensus protocol depends on persistently storing metadata to a log, a majority of etcd cluster members must write every request down to disk
  
Beside the configuration management, etcd also provides [[service discovery]] by allowing deployed applications to announce themselves and the services they offer. Communication with etcd is performed through an exposed REST-based API, which internally uses JSON on top of HTTP; the API may be used directly (through curl or wget, for example), or indirectly through<code>[[etcdctl]]</code> command.
+
Beside the configuration management, etcd also provides [[service discovery]] by allowing deployed applications to announce themselves and the services they offer. Communication with etcd is performed through an exposed REST-based API, which internally uses JSON on top of HTTP; the API may be used directly (through curl or wget, for example), or indirectly through<code>[[/etcdctl/]]</code> command.
  
 
A simple use case is storing database connection details or feature flags in etcd as key-value pairs.
 
A simple use case is storing database connection details or feature flags in etcd as key-value pairs.
Line 13: Line 12:
 
=== Adding a new member to the cluster ===
 
=== Adding a new member to the cluster ===
 
To add a new server called <kbd>conf1001.example.com</kbd> to our cluster, using the <kbd>etcdctl</kbd> tool:
 
To add a new server called <kbd>conf1001.example.com</kbd> to our cluster, using the <kbd>etcdctl</kbd> tool:
  [[etcdctl -C]] https://etcd1001.example.com:2379 member add conf1001 http://conf1001.example.com:2380
+
  <syntaxhighlight lang="bash">
Added member named conf1001 with ID 5f62a924ac85910 to cluster
+
$ etcdctl -C https://etcd1001.example.com:2379 member add conf1001 http://conf1001.example.com:2380
 +
Added member named conf1001 with ID 5f62a924ac85910 to cluster
  
ETCD_NAME="conf1001"
+
ETCD_NAME="conf1001"
# Next line is broken down artificially for ease of reading
+
# Next line is broken down artificially for ease of reading
ETCD_INITIAL_CLUSTER="conf1001=http://conf1001.example.com:2380,
+
ETCD_INITIAL_CLUSTER="conf1001=http://conf1001.example.com:2380,
                      etcd1001=http://etcd1001.example.com:2380,
+
                      etcd1001=http://etcd1001.example.com:2380,
ETCD_INITIAL_CLUSTER_STATE="existing"
+
ETCD_INITIAL_CLUSTER_STATE="existing"
 +
</syntaxhighlight>
  
 
== etcd ports ==
 
== etcd ports ==
 
TCP Ports 2379 for client communication and on port 2380 for server-to-server communication needs to be open <ref>https://github.com/etcd-io/etcd</ref>
 
TCP Ports 2379 for client communication and on port 2380 for server-to-server communication needs to be open <ref>https://github.com/etcd-io/etcd</ref>
 
== CKA ==
 
* [[CKA 1.23]]-[[CKA 1.20]] [[Implement etcd backup and restore]]
 
 
== Related ==
 
* [[Apache Zookeeper]]
 
* <code>[[:2379/health]]</code>
 
* <code>[[kubectl -n kube-system get pod]]</code>
 
/etc/kubernetes/pki/etcd/ca.crt
 
/etc/kubernetes/pki/etcd/server.crt
 
/etc/kubernetes/pki/etcd/server.key
 
[[Rancher]]: https://hub.docker.com/r/rancher/mirrored-coreos-etcd
 
 
* <code>[[docker logs etcd]]</code>
 
  
 
== See also ==
 
== See also ==
* {{etcd}}
+
* [[EKS]]
 +
* [[Kubernetes]]
 +
* Debian SID package: https://packages.debian.org/sid/etcd-server
 +
* Homepage: https://github.com/etcd-io/etcd
 
* {{Key-value databases}}
 
* {{Key-value databases}}
  
Line 47: Line 37:
  
 
[[Category:Server administration]]
 
[[Category:Server administration]]
[[Category:Kubernetes]]
 
[[Category:Etcd]]
 

Please note that all contributions to wikieduonline may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Wikieduonline:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Advertising: