docs: fix usage of peers urls
parent
75104c10d4
commit
3068340a83
|
@ -401,19 +401,19 @@ curl 'http://127.0.0.1:2379/v2/keys/dir/asdf?consistent=true&wait=true'
|
|||
|
||||
```json
|
||||
{
|
||||
"action": "expire",
|
||||
"node": {
|
||||
"createdIndex": 8,
|
||||
"key": "/dir",
|
||||
"modifiedIndex": 15
|
||||
},
|
||||
"prevNode": {
|
||||
"createdIndex": 8,
|
||||
"key": "/dir",
|
||||
"dir":true,
|
||||
"modifiedIndex": 17,
|
||||
"expiration": "2013-12-11T10:39:35.689275857-08:00"
|
||||
}
|
||||
"action": "expire",
|
||||
"node": {
|
||||
"createdIndex": 8,
|
||||
"key": "/dir",
|
||||
"modifiedIndex": 15
|
||||
},
|
||||
"prevNode": {
|
||||
"createdIndex": 8,
|
||||
"key": "/dir",
|
||||
"dir":true,
|
||||
"modifiedIndex": 17,
|
||||
"expiration": "2013-12-11T10:39:35.689275857-08:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -639,22 +639,22 @@ We should see the response as an array of items:
|
|||
```json
|
||||
{
|
||||
"action": "get",
|
||||
"node": {
|
||||
"key": "/",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir",
|
||||
"dir": true,
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
},
|
||||
{
|
||||
"key": "/foo",
|
||||
"value": "two",
|
||||
"modifiedIndex": 1,
|
||||
"createdIndex": 1
|
||||
}
|
||||
"node": {
|
||||
"key": "/",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir",
|
||||
"dir": true,
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
},
|
||||
{
|
||||
"key": "/foo",
|
||||
"value": "two",
|
||||
"modifiedIndex": 1,
|
||||
"createdIndex": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -669,33 +669,33 @@ curl http://127.0.0.1:2379/v2/keys/?recursive=true
|
|||
|
||||
```json
|
||||
{
|
||||
"action": "get",
|
||||
"node": {
|
||||
"key": "/",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir/foo",
|
||||
"value": "bar",
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
}
|
||||
],
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
},
|
||||
{
|
||||
"key": "/foo",
|
||||
"value": "two",
|
||||
"modifiedIndex": 1,
|
||||
"createdIndex": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
"action": "get",
|
||||
"node": {
|
||||
"key": "/",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir",
|
||||
"dir": true,
|
||||
"nodes": [
|
||||
{
|
||||
"key": "/foo_dir/foo",
|
||||
"value": "bar",
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
}
|
||||
],
|
||||
"modifiedIndex": 2,
|
||||
"createdIndex": 2
|
||||
},
|
||||
{
|
||||
"key": "/foo",
|
||||
"value": "two",
|
||||
"modifiedIndex": 1,
|
||||
"createdIndex": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -16,13 +16,13 @@ before starting we can use an offline bootstrap configuration. Each machine
|
|||
will get either the following command line or environment variables:
|
||||
|
||||
```
|
||||
ETCD_INITIAL_CLUSTER=”infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379”
|
||||
ETCD_INITIAL_CLUSTER="infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380"
|
||||
ETCD_INITIAL_CLUSTER_STATE=new
|
||||
```
|
||||
|
||||
```
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state new
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state new
|
||||
```
|
||||
|
||||
If you are spinning up multiple clusters (or creating and destroying a single cluster) with same configuration for testing purpose, it is highly recommended that you specify a unique `initial-cluster-token` for the different clusters.
|
||||
|
@ -31,15 +31,15 @@ By doing this, etcd can generate unique cluster IDs and member IDs for the clust
|
|||
On each machine you would start etcd with these flags:
|
||||
|
||||
```
|
||||
$ etcd -name infra0 -initial-advertise-peer-urls https://10.0.1.10:2379 initial-cluster-token etcd-cluster-1\
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state new
|
||||
$ etcd -name infra1 -initial-advertise-peer-urls https://10.0.1.11:2379 initial-cluster-token etcd-cluster-1\
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state new
|
||||
$ etcd -name infra2 -initial-advertise-peer-urls https://10.0.1.12:2379 initial-cluster-token etcd-cluster-1\
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state new
|
||||
$ etcd -name infra0 -initial-advertise-peer-urls https://10.0.1.10:2379 initial-cluster-token etcd-cluster-1 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state new
|
||||
$ etcd -name infra1 -initial-advertise-peer-urls https://10.0.1.11:2379 initial-cluster-token etcd-cluster-1 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state new
|
||||
$ etcd -name infra2 -initial-advertise-peer-urls https://10.0.1.12:2379 initial-cluster-token etcd-cluster-1 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state new
|
||||
```
|
||||
|
||||
The command line parameters starting with `-initial-cluster` will be ignored on
|
||||
|
@ -52,23 +52,24 @@ changes to the configuration later see our guide on runtime configuration.
|
|||
In the following case we have not included our new host in the list of
|
||||
enumerated nodes. If this is a new cluster, the node must be added to the list
|
||||
of initial cluster members.
|
||||
|
||||
```
|
||||
$ etcd -name infra1 -initial-advertise-peer-urls http://10.0.1.11:2379 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2379 \
|
||||
-initial-cluster-state new
|
||||
-initial-cluster infra0=http://10.0.1.10:2380 \
|
||||
-initial-cluster-state new
|
||||
etcd: infra1 not listed in the initial cluster config
|
||||
exit 1
|
||||
```
|
||||
|
||||
In this case we are attempting to map a node (infra0) on a different address
|
||||
(127.0.0.1:2379) than its enumerated address in the cluster list
|
||||
(10.0.1.10:2379). If this node is to listen on multiple addresses, all
|
||||
addresses must be reflected in the “initial-cluster” configuration directive.
|
||||
(127.0.0.1:2380) than its enumerated address in the cluster list
|
||||
(10.0.1.10:2380). If this node is to listen on multiple addresses, all
|
||||
addresses must be reflected in the "initial-cluster" configuration directive.
|
||||
|
||||
```
|
||||
$ etcd -name infra0 -initial-advertise-peer-urls http://127.0.0.1:2379 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state=new
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state=new
|
||||
etcd: infra0 has different advertised URLs in the cluster and advertised peer URLs list
|
||||
exit 1
|
||||
```
|
||||
|
@ -78,8 +79,8 @@ join this cluster you will get a cluster ID mismatch and etcd will exit.
|
|||
|
||||
```
|
||||
$ etcd -name infra3 -initial-advertise-peer-urls http://10.0.1.13:2379 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra3=http://10.0.1.13:2379 \
|
||||
-initial-cluster-state=new
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra3=http://10.0.1.13:2380 \
|
||||
-initial-cluster-state=new
|
||||
etcd: conflicting cluster ID to the target cluster (c6ab534d07e8fcc4 != bc25ea2a74fb18b0). Exiting.
|
||||
exit 1
|
||||
```
|
||||
|
|
|
@ -67,7 +67,7 @@ We then use the `remove` command to perform the removal:
|
|||
|
||||
```
|
||||
$ etcdctl member remove a8266ecf031671f3
|
||||
EOF
|
||||
Removed member a8266ecf031671f3 from cluster
|
||||
```
|
||||
|
||||
The target member will stop itself at this point and print out the removal in the log:
|
||||
|
@ -80,24 +80,28 @@ Removal of the leader is safe, but the cluster will be out of progress for a per
|
|||
|
||||
### Add a Member
|
||||
|
||||
Adding a member is a two step process.
|
||||
First we have to tell the cluster that it should expect a new member to join, then we will need to start the member with the correct configuration.
|
||||
Adding a member is a two step process:
|
||||
|
||||
Using `etcdctl`, let’s tell the cluster about the new member:
|
||||
* Add the new member to the cluster via the [members API](https://github.com/coreos/etcd/blob/master/Documentation/0.5/other_apis.md#post-v2members) or the `etcdctl member add` command.
|
||||
* Start the member with the correct configuration.
|
||||
|
||||
Using `etcdctl` let's add the new member to the cluster:
|
||||
|
||||
```
|
||||
$ etcdctl member add infra3 http://10.0.1.13:2379
|
||||
$ etcdctl member add infra3 http://10.0.1.13:2380
|
||||
added member 9bf1b35fc7761a23 to cluster
|
||||
ETCD_NAME="infra3"
|
||||
ETCD_INITIAL_CLUSTER="infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379,infra3=http://10.0.1.13:2379"
|
||||
ETCD_INITIAL_CLUSTER="infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380,infra3=http://10.0.1.13:2380"
|
||||
ETCD_INITIAL_CLUSTER_STATE=existing
|
||||
```
|
||||
|
||||
> Notice that infra3 was added to the cluster using its advertised peer URL.
|
||||
|
||||
Now start the new etcd process with the relevant flags for the new member:
|
||||
|
||||
```
|
||||
$ export ETCD_NAME="infra3"
|
||||
$ export ETCD_INITIAL_CLUSTER="infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379,infra3=http://10.0.1.13:2379"
|
||||
$ export ETCD_INITIAL_CLUSTER="infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380,infra3=http://10.0.1.13:2380"
|
||||
$ export ETCD_INITIAL_CLUSTER_STATE=existing
|
||||
$ etcd -listen-client-urls http://10.0.1.13:2379 -advertise-client-urls http://10.0.1.13:2379 -listen-peer-urls http://10.0.1.13:2380 -initial-advertise-peer-urls http://10.0.1.13:2380
|
||||
```
|
||||
|
@ -114,18 +118,18 @@ If this is a new cluster, the node must be added to the list of initial cluster
|
|||
|
||||
```
|
||||
$ etcd -name infra3 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379 \
|
||||
-initial-cluster-state existing
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380 \
|
||||
-initial-cluster-state existing
|
||||
etcdserver: assign ids error: the member count is unequal
|
||||
exit 1
|
||||
```
|
||||
|
||||
In this case we give a different address (10.0.1.14:2379) to the one that we used to join the cluster (10.0.1.13:2379).
|
||||
In this case we give a different address (10.0.1.14:2380) to the one that we used to join the cluster (10.0.1.13:2380).
|
||||
|
||||
```
|
||||
$ etcd -name infra4 \
|
||||
-initial-cluster infra0=http://10.0.1.10:2379,infra1=http://10.0.1.11:2379,infra2=http://10.0.1.12:2379,infra4=http://10.0.1.14:2379 \
|
||||
-initial-cluster-state existing
|
||||
-initial-cluster infra0=http://10.0.1.10:2380,infra1=http://10.0.1.11:2380,infra2=http://10.0.1.12:2380,infra4=http://10.0.1.14:2380 \
|
||||
-initial-cluster-state existing
|
||||
etcdserver: assign ids error: unmatched member while checking PeerURLs
|
||||
exit 1
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue