Etcdctl: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(5 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=


Line 5: Line 9:
=Overview=
=Overview=


etcdctl, etcdctl2.
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=
=Commands=
Line 13: Line 24:
From the node that runs etcd, as root:
From the node that runs etcd, as root:


  etcdctl -C https://master1.openshift35.local:2379,https://master2.openshift35.local:2379,https://master3.openshift35.local:2379 \
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 \
   --ca-file /etc/origin/master/master.etcd-ca.crt \
   --cert-file /etc/origin/master/master.etcd-client.crt \
   --cert-file /etc/origin/master/master.etcd-client.crt \
Line 45: Line 65:
Output sample:
Output sample:


<pre>
6f4cee0c78fff8fd: name=master1.openshift35.local peerURLs=https://172.23.0.4:2380 clientURLs=https://172.23.0.4:2379 isLeader=true
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
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
b5a071be696c6070: name=master2.openshift35.local peerURLs=https://172.23.0.5:2380 clientURLs=https://172.23.0.5:2379 isLeader=false
 
</pre>
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.