mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #36073 from gmarek/supervisord
Automatic merge from submit-queue Kubemark master components run by supervisord. Try 2.
This commit is contained in:
commit
580c52be38
@ -16,6 +16,19 @@
|
||||
|
||||
# TODO: figure out how to get etcd tag from some real configuration and put it here.
|
||||
|
||||
function write_supervisor_conf() {
|
||||
local name=$1
|
||||
local exec_command=$2
|
||||
cat >>"/etc/supervisor/conf.d/${name}.conf" <<EOF
|
||||
[program:${name}]
|
||||
command=${exec_command}
|
||||
stderr_logfile=/var/log/${name}.log
|
||||
stdout_logfile=/var/log/${name}.log
|
||||
autorestart=true
|
||||
startretries=1000000
|
||||
EOF
|
||||
}
|
||||
|
||||
EVENT_STORE_IP=$1
|
||||
EVENT_STORE_URL="http://${EVENT_STORE_IP}:4002"
|
||||
NUM_NODES=$2
|
||||
@ -111,15 +124,13 @@ retry sudo docker run --net=host \
|
||||
--listen-client-urls=http://0.0.0.0:2379 \
|
||||
--data-dir=/var/etcd/data ${ETCD_QUOTA_BYTES} 1>> /var/log/etcd.log 2>&1"
|
||||
|
||||
# Increase the allowed number of open file descriptors
|
||||
ulimit -n 65536
|
||||
ulimit_command='bash -c "ulimit -n 65536;'
|
||||
|
||||
cd /
|
||||
tar xzf kubernetes-server-linux-amd64.tar.gz
|
||||
|
||||
kubernetes/server/bin/kube-scheduler --master=127.0.0.1:8080 $(cat scheduler_flags) &>> /var/log/kube-scheduler.log &
|
||||
|
||||
kubernetes/server/bin/kube-apiserver \
|
||||
--insecure-bind-address=0.0.0.0 \
|
||||
write_supervisor_conf "kube-scheduler" "${ulimit_command} /kubernetes/server/bin/kube-scheduler --master=127.0.0.1:8080 $(cat /scheduler_flags | tr '\n' ' ')\""
|
||||
write_supervisor_conf "kube-apiserver" "${ulimit_command} /kubernetes/server/bin/kube-apiserver --insecure-bind-address=0.0.0.0 \
|
||||
--etcd-servers=http://127.0.0.1:2379 \
|
||||
--etcd-servers-overrides=/events#${EVENT_STORE_URL} \
|
||||
--tls-cert-file=/srv/kubernetes/server.cert \
|
||||
@ -129,14 +140,16 @@ kubernetes/server/bin/kube-apiserver \
|
||||
--secure-port=443 \
|
||||
--basic-auth-file=/srv/kubernetes/basic_auth.csv \
|
||||
--target-ram-mb=$((${NUM_NODES} * 60)) \
|
||||
$(cat apiserver_flags) &>> /var/log/kube-apiserver.log &
|
||||
|
||||
# kube-contoller-manager now needs running kube-api server to actually start
|
||||
until [ "$(curl 127.0.0.1:8080/healthz 2> /dev/null)" == "ok" ]; do
|
||||
sleep 1
|
||||
done
|
||||
kubernetes/server/bin/kube-controller-manager \
|
||||
$(cat /apiserver_flags | tr '\n' ' ')\""
|
||||
write_supervisor_conf "kube-contoller-manager" "${ulimit_command} /kubernetes/server/bin/kube-controller-manager \
|
||||
--master=127.0.0.1:8080 \
|
||||
--service-account-private-key-file=/srv/kubernetes/server.key \
|
||||
--root-ca-file=/srv/kubernetes/ca.crt \
|
||||
$(cat controllers_flags) &>> /var/log/kube-controller-manager.log &
|
||||
$(cat /controllers_flags | tr '\n' ' ')\""
|
||||
|
||||
supervisorctl reread
|
||||
supervisorctl update
|
||||
|
||||
until [ "$(curl 127.0.0.1:8080/healthz 2> /dev/null)" == "ok" ]; do
|
||||
sleep 1
|
||||
done
|
||||
|
@ -168,11 +168,12 @@ gcloud compute copy-files --zone="${ZONE}" --project="${PROJECT}" \
|
||||
"${RESOURCE_DIRECTORY}/apiserver_flags" \
|
||||
"${RESOURCE_DIRECTORY}/scheduler_flags" \
|
||||
"${RESOURCE_DIRECTORY}/controllers_flags" \
|
||||
"${MASTER_NAME}":~
|
||||
"root@${MASTER_NAME}":/
|
||||
|
||||
|
||||
gcloud compute ssh "${MASTER_NAME}" --zone="${ZONE}" --project="${PROJECT}" \
|
||||
--command="chmod a+x configure-kubectl.sh && chmod a+x start-kubemark-master.sh && \
|
||||
sudo ./start-kubemark-master.sh ${EVENT_STORE_IP:-127.0.0.1} ${NUM_NODES:-0} ${EVENT_PD:-false} ${ETCD_IMAGE:-}"
|
||||
--command="sudo chmod a+x /configure-kubectl.sh && sudo chmod a+x /start-kubemark-master.sh && \
|
||||
sudo /start-kubemark-master.sh ${EVENT_STORE_IP:-127.0.0.1} ${NUM_NODES:-0} ${EVENT_PD:-false} ${ETCD_IMAGE:-}"
|
||||
|
||||
# create kubeconfig for Kubelet:
|
||||
KUBECONFIG_CONTENTS=$(echo "apiVersion: v1
|
||||
@ -301,5 +302,6 @@ until [[ "${ready}" -ge "${NUM_NODES}" ]]; do
|
||||
done
|
||||
echo ""
|
||||
|
||||
echo "Master IP: ${MASTER_IP}"
|
||||
echo "Password to kubemark master: ${password}"
|
||||
echo "Kubeconfig for kubemark master is written in ${LOCAL_KUBECONFIG}"
|
||||
|
Loading…
Reference in New Issue
Block a user