mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #151 from philips/listening-ip-cleanups
Listening ip cleanups
This commit is contained in:
commit
d56d79018e
13
README.md
13
README.md
@ -347,6 +347,9 @@ We use -s to specify server port and -c to specify client port and -d to specify
|
|||||||
./etcd -s 127.0.0.1:7001 -c 127.0.0.1:4001 -d nodes/node1 -n node1
|
./etcd -s 127.0.0.1:7001 -c 127.0.0.1:4001 -d nodes/node1 -n node1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Note:** If you want to run etcd on external IP address and still have access locally you need to add `-cl 0.0.0.0` so that it will listen on both external and localhost addresses.
|
||||||
|
A similar argument `-sl` is used to setup the listening address for the server port.
|
||||||
|
|
||||||
Let the join two more nodes to this cluster using the -C argument:
|
Let the join two more nodes to this cluster using the -C argument:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -363,7 +366,7 @@ curl -L http://127.0.0.1:4001/v1/machines
|
|||||||
We should see there are three nodes in the cluster
|
We should see there are three nodes in the cluster
|
||||||
|
|
||||||
```
|
```
|
||||||
http://0.0.0.0:4001, http://0.0.0.0:4002, http://0.0.0.0:4003
|
http://127.0.0.1:4001, http://127.0.0.1:4002, http://127.0.0.1:4003
|
||||||
```
|
```
|
||||||
|
|
||||||
The machine list is also available via this API:
|
The machine list is also available via this API:
|
||||||
@ -373,7 +376,7 @@ curl -L http://127.0.0.1:4001/v1/keys/_etcd/machines
|
|||||||
```
|
```
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[{"action":"GET","key":"/_etcd/machines/node1","value":"raft=http://0.0.0.0:7001&etcd=http://0.0.0.0:4001","index":4},{"action":"GET","key":"/_etcd/machines/node2","value":"raft=http://0.0.0.0:7002&etcd=http://0.0.0.0:4002","index":4},{"action":"GET","key":"/_etcd/machines/node3","value":"raft=http://0.0.0.0:7003&etcd=http://0.0.0.0:4003","index":4}]
|
[{"action":"GET","key":"/_etcd/machines/node1","value":"raft=http://127.0.0.1:7001&etcd=http://127.0.0.1:4001","index":4},{"action":"GET","key":"/_etcd/machines/node2","value":"raft=http://127.0.0.1:7002&etcd=http://127.0.0.1:4002","index":4},{"action":"GET","key":"/_etcd/machines/node3","value":"raft=http://127.0.0.1:7003&etcd=http://127.0.0.1:4003","index":4}]
|
||||||
```
|
```
|
||||||
|
|
||||||
The key of the machine is based on the ```commit index``` when it was added. The value of the machine is ```hostname```, ```raft port``` and ```client port```.
|
The key of the machine is based on the ```commit index``` when it was added. The value of the machine is ```hostname```, ```raft port``` and ```client port```.
|
||||||
@ -386,7 +389,7 @@ curl -L http://127.0.0.1:4001/v1/leader
|
|||||||
The first server we set up should be the leader, if it has not dead during these commands.
|
The first server we set up should be the leader, if it has not dead during these commands.
|
||||||
|
|
||||||
```
|
```
|
||||||
http://0.0.0.0:7001
|
http://127.0.0.1:7001
|
||||||
```
|
```
|
||||||
|
|
||||||
Now we can do normal SET and GET operations on keys as we explored earlier.
|
Now we can do normal SET and GET operations on keys as we explored earlier.
|
||||||
@ -414,13 +417,13 @@ curl -L http://127.0.0.1:4001/v1/leader
|
|||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
http://0.0.0.0:7002
|
http://127.0.0.1:7002
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
```
|
```
|
||||||
http://0.0.0.0:7003
|
http://127.0.0.1:7003
|
||||||
```
|
```
|
||||||
|
|
||||||
You should be able to see this:
|
You should be able to see this:
|
||||||
|
4
etcd.go
4
etcd.go
@ -52,8 +52,8 @@ func init() {
|
|||||||
flag.StringVar(&argInfo.Name, "n", "default-name", "the node name (required)")
|
flag.StringVar(&argInfo.Name, "n", "default-name", "the node name (required)")
|
||||||
flag.StringVar(&argInfo.EtcdURL, "c", "127.0.0.1:4001", "the advertised public hostname:port for etcd client communication")
|
flag.StringVar(&argInfo.EtcdURL, "c", "127.0.0.1:4001", "the advertised public hostname:port for etcd client communication")
|
||||||
flag.StringVar(&argInfo.RaftURL, "s", "127.0.0.1:7001", "the advertised public hostname:port for raft server communication")
|
flag.StringVar(&argInfo.RaftURL, "s", "127.0.0.1:7001", "the advertised public hostname:port for raft server communication")
|
||||||
flag.StringVar(&argInfo.EtcdListenHost, "cl", "127.0.0.1", "the listening hostname for etcd client communication")
|
flag.StringVar(&argInfo.EtcdListenHost, "cl", "", "the listening hostname for etcd client communication (defaults to advertised ip)")
|
||||||
flag.StringVar(&argInfo.RaftListenHost, "sl", "127.0.0.1", "the listening hostname for raft server communication")
|
flag.StringVar(&argInfo.RaftListenHost, "sl", "", "the listening hostname for raft server communication (defaults to advertised ip)")
|
||||||
flag.StringVar(&argInfo.WebURL, "w", "", "the hostname:port of web interface")
|
flag.StringVar(&argInfo.WebURL, "w", "", "the hostname:port of web interface")
|
||||||
|
|
||||||
flag.StringVar(&argInfo.RaftTLS.CAFile, "serverCAFile", "", "the path of the CAFile")
|
flag.StringVar(&argInfo.RaftTLS.CAFile, "serverCAFile", "", "the path of the CAFile")
|
||||||
|
7
util.go
7
util.go
@ -114,11 +114,16 @@ func sanitizeListenHost(listen string, advertised string) string {
|
|||||||
fatal(err)
|
fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, aport, err := net.SplitHostPort(aurl.Host)
|
ahost, aport, err := net.SplitHostPort(aurl.Host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fatal(err)
|
fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the listen host isn't set use the advertised host
|
||||||
|
if listen == "" {
|
||||||
|
listen = ahost
|
||||||
|
}
|
||||||
|
|
||||||
return net.JoinHostPort(listen, aport)
|
return net.JoinHostPort(listen, aport)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user