Etcdctl

From NovaOrdis Knowledge Base
Revision as of 18:09, 7 February 2018 by Ovidiu (talk | contribs) (→‎member)
Jump to navigation Jump to search

Internal

Overview

etcdctl and etcdctl2 are usually the same thing:

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 -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.