mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Check etcd port instead of process name
currently the pgrep check does not allow any etcd process to exist other than the one we intend to start in our scripts. All we need to know is if the port is free. So let us use netstat to check if anyone is using that port. We don't really need to know if there is another instance of etcd is running or not.
This commit is contained in:
parent
aee2cff1b8
commit
ea7547cd42
@ -27,10 +27,10 @@ kube::etcd::validate() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# validate it is not running
|
# validate etcd port is free
|
||||||
if pgrep -x etcd >/dev/null 2>&1; then
|
if netstat -nat | grep "[\.:]${ETCD_PORT:?} .*LISTEN" >/dev/null 2>&1; then
|
||||||
kube::log::usage "etcd appears to already be running on this machine (`pgrep -xl etcd`) (or its a zombie and you need to kill its parent)."
|
kube::log::usage "unable to start etcd as port ${ETCD_PORT} is in use. please stop the process listening on this port and retry."
|
||||||
kube::log::usage "retry after you resolve this etcd error."
|
kube::log::usage "`netstat -nat | grep "[\.:]${ETCD_PORT:?} .*LISTEN"`"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user