mirror of https://github.com/k3s-io/k3s
Remove support for containerized-kubelet in local-up-cluster.sh
Change-Id: I3435b02fbe052a88f6b88d5517de2d68ff636a66pull/564/head
parent
139a13d312
commit
5d13f6f776
|
@ -21,7 +21,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||||
# and to write the test CA in /var/run/kubernetes.
|
# and to write the test CA in /var/run/kubernetes.
|
||||||
DOCKER_OPTS=${DOCKER_OPTS:-""}
|
DOCKER_OPTS=${DOCKER_OPTS:-""}
|
||||||
DOCKER=(docker ${DOCKER_OPTS})
|
DOCKER=(docker ${DOCKER_OPTS})
|
||||||
DOCKERIZE_KUBELET=${DOCKERIZE_KUBELET:-""}
|
|
||||||
DOCKER_ROOT=${DOCKER_ROOT:-""}
|
DOCKER_ROOT=${DOCKER_ROOT:-""}
|
||||||
ALLOW_PRIVILEGED=${ALLOW_PRIVILEGED:-""}
|
ALLOW_PRIVILEGED=${ALLOW_PRIVILEGED:-""}
|
||||||
DENY_SECURITY_CONTEXT_ADMISSION=${DENY_SECURITY_CONTEXT_ADMISSION:-""}
|
DENY_SECURITY_CONTEXT_ADMISSION=${DENY_SECURITY_CONTEXT_ADMISSION:-""}
|
||||||
|
@ -337,21 +336,6 @@ function detect_binary {
|
||||||
GO_OUT="${KUBE_ROOT}/_output/local/bin/${host_os}/${host_arch}"
|
GO_OUT="${KUBE_ROOT}/_output/local/bin/${host_os}/${host_arch}"
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup_dockerized_kubelet()
|
|
||||||
{
|
|
||||||
if [[ -e ${KUBELET_CIDFILE} ]]; then
|
|
||||||
docker kill $(<${KUBELET_CIDFILE}) > /dev/null
|
|
||||||
rm -f ${KUBELET_CIDFILE}
|
|
||||||
|
|
||||||
# Save the docker logs
|
|
||||||
if [[ -f /var/log/docker.log ]]; then
|
|
||||||
sudo cp /var/log/docker.log ${LOG_DIR}/docker.log
|
|
||||||
elif command -v journalctl &>/dev/null; then
|
|
||||||
journalctl -u docker --no-pager > ${LOG_DIR}/docker.log
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup()
|
cleanup()
|
||||||
{
|
{
|
||||||
echo "Cleaning up..."
|
echo "Cleaning up..."
|
||||||
|
@ -371,13 +355,9 @@ cleanup()
|
||||||
[[ -n "${CTLRMGR_PID-}" ]] && CTLRMGR_PIDS=$(pgrep -P ${CTLRMGR_PID} ; ps -o pid= -p ${CTLRMGR_PID})
|
[[ -n "${CTLRMGR_PID-}" ]] && CTLRMGR_PIDS=$(pgrep -P ${CTLRMGR_PID} ; ps -o pid= -p ${CTLRMGR_PID})
|
||||||
[[ -n "${CTLRMGR_PIDS-}" ]] && sudo kill ${CTLRMGR_PIDS} 2>/dev/null
|
[[ -n "${CTLRMGR_PIDS-}" ]] && sudo kill ${CTLRMGR_PIDS} 2>/dev/null
|
||||||
|
|
||||||
if [[ -n "${DOCKERIZE_KUBELET}" ]]; then
|
# Check if the kubelet is still running
|
||||||
cleanup_dockerized_kubelet
|
[[ -n "${KUBELET_PID-}" ]] && KUBELET_PIDS=$(pgrep -P ${KUBELET_PID} ; ps -o pid= -p ${KUBELET_PID})
|
||||||
else
|
[[ -n "${KUBELET_PIDS-}" ]] && sudo kill ${KUBELET_PIDS} 2>/dev/null
|
||||||
# Check if the kubelet is still running
|
|
||||||
[[ -n "${KUBELET_PID-}" ]] && KUBELET_PIDS=$(pgrep -P ${KUBELET_PID} ; ps -o pid= -p ${KUBELET_PID})
|
|
||||||
[[ -n "${KUBELET_PIDS-}" ]] && sudo kill ${KUBELET_PIDS} 2>/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if the proxy is still running
|
# Check if the proxy is still running
|
||||||
[[ -n "${PROXY_PID-}" ]] && PROXY_PIDS=$(pgrep -P ${PROXY_PID} ; ps -o pid= -p ${PROXY_PID})
|
[[ -n "${PROXY_PID-}" ]] && PROXY_PIDS=$(pgrep -P ${PROXY_PID} ; ps -o pid= -p ${PROXY_PID})
|
||||||
|
@ -408,10 +388,7 @@ function healthcheck {
|
||||||
CTLRMGR_PID=
|
CTLRMGR_PID=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${DOCKERIZE_KUBELET}" ]]; then
|
if [[ -n "${KUBELET_PID-}" ]] && ! sudo kill -0 ${KUBELET_PID} 2>/dev/null; then
|
||||||
# TODO (https://github.com/kubernetes/kubernetes/issues/62474): check health also in this case
|
|
||||||
:
|
|
||||||
elif [[ -n "${KUBELET_PID-}" ]] && ! sudo kill -0 ${KUBELET_PID} 2>/dev/null; then
|
|
||||||
warning_log "kubelet terminated unexpectedly, see ${KUBELET_LOG}"
|
warning_log "kubelet terminated unexpectedly, see ${KUBELET_LOG}"
|
||||||
KUBELET_PID=
|
KUBELET_PID=
|
||||||
fi
|
fi
|
||||||
|
@ -804,77 +781,9 @@ function start_kubelet {
|
||||||
generate_kubelet_certs
|
generate_kubelet_certs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${DOCKERIZE_KUBELET}" ]]; then
|
sudo -E "${GO_OUT}/hyperkube" kubelet "${all_kubelet_flags[@]}" >"${KUBELET_LOG}" 2>&1 &
|
||||||
sudo -E "${GO_OUT}/hyperkube" kubelet "${all_kubelet_flags[@]}" >"${KUBELET_LOG}" 2>&1 &
|
KUBELET_PID=$!
|
||||||
KUBELET_PID=$!
|
|
||||||
else
|
|
||||||
|
|
||||||
# Build the hyperkube container image if necessary
|
|
||||||
if [[ -z "${KUBELET_IMAGE}" && -n "${DOCKERIZE_KUBELET}" ]]; then
|
|
||||||
HYPERKUBE_BIN="${GO_OUT}/hyperkube" REGISTRY="k8s.gcr.io" VERSION="latest" make -C "${KUBE_ROOT}/cluster/images/hyperkube" build
|
|
||||||
KUBELET_IMAGE="k8s.gcr.io/hyperkube-amd64:latest"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Docker won't run a container with a cidfile (container id file)
|
|
||||||
# unless that file does not already exist; clean up an existing
|
|
||||||
# dockerized kubelet that might be running.
|
|
||||||
cleanup_dockerized_kubelet
|
|
||||||
cred_bind=""
|
|
||||||
# path to cloud credentials.
|
|
||||||
cloud_cred=""
|
|
||||||
if [ "${CLOUD_PROVIDER}" == "aws" ]; then
|
|
||||||
cloud_cred="${HOME}/.aws/credentials"
|
|
||||||
fi
|
|
||||||
if [ "${CLOUD_PROVIDER}" == "gce" ]; then
|
|
||||||
cloud_cred="${HOME}/.config/gcloud"
|
|
||||||
fi
|
|
||||||
if [ "${CLOUD_PROVIDER}" == "openstack" ]; then
|
|
||||||
cloud_cred="${CLOUD_CONFIG}"
|
|
||||||
fi
|
|
||||||
if [[ -n "${cloud_cred}" ]]; then
|
|
||||||
cred_bind="--volume=${cloud_cred}:${cloud_cred}:ro"
|
|
||||||
fi
|
|
||||||
all_kubelet_flags+=(--containerized)
|
|
||||||
|
|
||||||
all_kubelet_volumes=(
|
|
||||||
--volume=/:/rootfs:ro,rslave \
|
|
||||||
--volume=/var/run:/var/run:rw \
|
|
||||||
--volume=/sys:/sys:ro \
|
|
||||||
--volume=/usr/libexec/kubernetes/kubelet-plugins/volume/exec:/usr/libexec/kubernetes/kubelet-plugins/volume/exec:rw \
|
|
||||||
--volume=/var/lib/docker/:/var/lib/docker:rslave \
|
|
||||||
--volume=/var/lib/kubelet/:/var/lib/kubelet:rslave \
|
|
||||||
--volume=/dev:/dev \
|
|
||||||
--volume=/run/xtables.lock:/run/xtables.lock:rw \
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ -n "${DOCKER_ROOT}" ]]; then
|
|
||||||
all_kubelet_flags+=(--root-dir="${DOCKER_ROOT}")
|
|
||||||
all_kubelet_volumes+=(--volume="${DOCKER_ROOT}:${DOCKER_ROOT}:rslave")
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run --rm --name kubelet \
|
|
||||||
"${all_kubelet_volumes[@]}" \
|
|
||||||
${cred_bind} \
|
|
||||||
--net=host \
|
|
||||||
--pid=host \
|
|
||||||
--privileged=true \
|
|
||||||
-i \
|
|
||||||
--cidfile=${KUBELET_CIDFILE} \
|
|
||||||
"${KUBELET_IMAGE}" \
|
|
||||||
/kubelet "${all_kubelet_flags[@]}" >"${KUBELET_LOG}" 2>&1 &
|
|
||||||
# Get PID of kubelet container.
|
|
||||||
for i in {1..3}; do
|
|
||||||
echo -n "Trying to get PID of kubelet container..."
|
|
||||||
KUBELET_PID=$(docker inspect kubelet -f '{{.State.Pid}}' 2>/dev/null || true)
|
|
||||||
if [[ -n ${KUBELET_PID} && ${KUBELET_PID} -gt 0 ]]; then
|
|
||||||
echo " ok, ${KUBELET_PID}."
|
|
||||||
break
|
|
||||||
else
|
|
||||||
echo " failed, retry in 1 second."
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
# Quick check that kubelet is running.
|
# Quick check that kubelet is running.
|
||||||
if [ -n "${KUBELET_PID}" ] && ps -p ${KUBELET_PID} > /dev/null; then
|
if [ -n "${KUBELET_PID}" ] && ps -p ${KUBELET_PID} > /dev/null; then
|
||||||
echo "kubelet ( ${KUBELET_PID} ) is running."
|
echo "kubelet ( ${KUBELET_PID} ) is running."
|
||||||
|
|
Loading…
Reference in New Issue