diff --git a/pkg/daemons/executor/executor.go b/pkg/daemons/executor/executor.go index 2c6df8dd53..1a6d24d006 100644 --- a/pkg/daemons/executor/executor.go +++ b/pkg/daemons/executor/executor.go @@ -55,6 +55,8 @@ type ETCDConfig struct { ServerTrust ServerTrust `json:"client-transport-security"` PeerTrust PeerTrust `json:"peer-transport-security"` ForceNewCluster bool `json:"force-new-cluster,omitempty"` + ReuseAddress bool `json:"reuse-address,omitempty"` + ReusePort bool `json:"reuse-port,omitempty"` HeartbeatInterval int `json:"heartbeat-interval"` ElectionTimeout int `json:"election-timeout"` Logger string `json:"logger"` diff --git a/pkg/etcd/etcd.go b/pkg/etcd/etcd.go index f249951b92..1bc3d13fb5 100644 --- a/pkg/etcd/etcd.go +++ b/pkg/etcd/etcd.go @@ -1035,6 +1035,8 @@ func (e *ETCD) cluster(ctx context.Context, reset bool, options executor.Initial HeartbeatInterval: 500, Logger: "zap", LogOutputs: []string{"stderr"}, + ReuseAddress: true, + ReusePort: true, ListenClientHTTPURLs: e.listenClientHTTPURLs(), ExperimentalInitialCorruptCheck: true, @@ -1098,11 +1100,13 @@ func (e *ETCD) StartEmbeddedTemporary(ctx context.Context) error { ListenClientHTTPURLs: clientHTTPURL, ListenPeerURLs: peerURL, Logger: "zap", + LogOutputs: []string{"stderr"}, + ReuseAddress: true, + ReusePort: true, HeartbeatInterval: 500, ElectionTimeout: 5000, SnapshotCount: 10000, Name: e.name, - LogOutputs: []string{"stderr"}, ExperimentalInitialCorruptCheck: true, ExperimentalWatchProgressNotifyInterval: e.config.Datastore.NotifyInterval,