Etcdctl: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
* https://github.com/coreos/etcd/blob/v3.3.0/etcdctl/README.md#lock-lockname-command-arg1-arg2-
=Internal=
=Internal=


* [[etcd]]
* [[etcd Operations#Commands|etcd Operations]]


=Overview=
=Overview=


  etcdctl -C https://master1:2379,https://master2:2379,https://master3:2379 \
etcdctl2 is an alias for the etcdctl tool that contains the proper flags to query the etcd cluster in v2 data model, as well as, etcdctl3 for v3 data model:
--ca-file /etc/origin/master/master.etcd-ca.crt \
 
--cert-file /etc/origin/master/master.etcd-client.crt \
etcdctl -v
--key-file /etc/origin/master/master.etcd-client.key \
etcdctl version: 3.2.7
API version: 2
etcdctl2 -v
etcdctl version: 3.2.7
API version: 2
 
=Commands=
 
==cluster-health==
 
From the node that runs etcd, as root:
 
etcdctl --endpoints https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
  --ca-file /etc/origin/master/master.etcd-ca.crt \
  --cert-file /etc/origin/master/master.etcd-client.crt \
  --key-file /etc/origin/master/master.etcd-client.key \
  cluster-health
 
 
Note that -C, --peers is deprecated:
 
etcdctl -C https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
  --ca-file /etc/origin/master/master.etcd-ca.crt \
  --cert-file /etc/origin/master/master.etcd-client.crt \
  --key-file /etc/origin/master/master.etcd-client.key \
  cluster-health
 
Output sample:
<pre>
member 6f4cee0c78fff8fd is healthy: got healthy result from https://172.23.0.4:2379
member a423b0b54377c79f is healthy: got healthy result from https://172.23.0.6:2379
member b5a071be696c6070 is healthy: got healthy result from https://172.23.0.5:2379
</pre>
 
In case an error message similar to
 
error #0: x509: certificate is valid for master1, not master1.local
 
is generate, adjust the host names accordingly. As in "https://master:2379" instead of master.ocp36.local.
 
==member==
 
===list===
 
 
  etcdctl -C https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
  --ca-file /etc/origin/master/master.etcd-ca.crt \
  --cert-file /etc/origin/master/master.etcd-client.crt \
  --key-file /etc/origin/master/master.etcd-client.key \
  member list
  member list
Output sample:
6f4cee0c78fff8fd: name=master1.openshift35.local peerURLs=https://172.23.0.4:2380 clientURLs=https://172.23.0.4:2379 isLeader=true
a423b0b54377c79f: name=master3.openshift35.local peerURLs=https://172.23.0.6:2380 clientURLs=https://172.23.0.6:2379 isLeader=false
b5a071be696c6070: name=master2.openshift35.local peerURLs=https://172.23.0.5:2380 clientURLs=https://172.23.0.5:2379 isLeader=false
All etcd hosts should contain the master host name if the etcd cluster is co-located with master services, or all etcd instances should be visible if etcd is running separately.

Latest revision as of 23:20, 27 February 2018

External

Internal

Overview

etcdctl2 is an alias for the etcdctl tool that contains the proper flags to query the etcd cluster in v2 data model, as well as, etcdctl3 for v3 data model:

etcdctl -v
etcdctl version: 3.2.7
API version: 2
etcdctl2 -v
etcdctl version: 3.2.7
API version: 2

Commands

cluster-health

From the node that runs etcd, as root:

etcdctl --endpoints https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
 --ca-file /etc/origin/master/master.etcd-ca.crt \
 --cert-file /etc/origin/master/master.etcd-client.crt \
 --key-file /etc/origin/master/master.etcd-client.key \
 cluster-health


Note that -C, --peers is deprecated:

etcdctl -C https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
 --ca-file /etc/origin/master/master.etcd-ca.crt \
 --cert-file /etc/origin/master/master.etcd-client.crt \
 --key-file /etc/origin/master/master.etcd-client.key \
 cluster-health

Output sample:

member 6f4cee0c78fff8fd is healthy: got healthy result from https://172.23.0.4:2379
member a423b0b54377c79f is healthy: got healthy result from https://172.23.0.6:2379
member b5a071be696c6070 is healthy: got healthy result from https://172.23.0.5:2379

In case an error message similar to

error #0: x509: certificate is valid for master1, not master1.local

is generate, adjust the host names accordingly. As in "https://master:2379" instead of master.ocp36.local.

member

list

etcdctl -C https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
 --ca-file /etc/origin/master/master.etcd-ca.crt \
 --cert-file /etc/origin/master/master.etcd-client.crt \
 --key-file /etc/origin/master/master.etcd-client.key \
member list

Output sample:

6f4cee0c78fff8fd: name=master1.openshift35.local peerURLs=https://172.23.0.4:2380 clientURLs=https://172.23.0.4:2379 isLeader=true
a423b0b54377c79f: name=master3.openshift35.local peerURLs=https://172.23.0.6:2380 clientURLs=https://172.23.0.6:2379 isLeader=false
b5a071be696c6070: name=master2.openshift35.local peerURLs=https://172.23.0.5:2380 clientURLs=https://172.23.0.5:2379 isLeader=false

All etcd hosts should contain the master host name if the etcd cluster is co-located with master services, or all etcd instances should be visible if etcd is running separately.