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.
|
# 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_IP=$1
|
||||||
EVENT_STORE_URL="http://${EVENT_STORE_IP}:4002"
|
EVENT_STORE_URL="http://${EVENT_STORE_IP}:4002"
|
||||||
NUM_NODES=$2
|
NUM_NODES=$2
|
||||||
@ -111,15 +124,13 @@ retry sudo docker run --net=host \
|
|||||||
--listen-client-urls=http://0.0.0.0:2379 \
|
--listen-client-urls=http://0.0.0.0:2379 \
|
||||||
--data-dir=/var/etcd/data ${ETCD_QUOTA_BYTES} 1>> /var/log/etcd.log 2>&1"
|
--data-dir=/var/etcd/data ${ETCD_QUOTA_BYTES} 1>> /var/log/etcd.log 2>&1"
|
||||||
|
|
||||||
# Increase the allowed number of open file descriptors
|
ulimit_command='bash -c "ulimit -n 65536;'
|
||||||
ulimit -n 65536
|
|
||||||
|
|
||||||
|
cd /
|
||||||
tar xzf kubernetes-server-linux-amd64.tar.gz
|
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 &
|
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 \
|
||||||
kubernetes/server/bin/kube-apiserver \
|
|
||||||
--insecure-bind-address=0.0.0.0 \
|
|
||||||
--etcd-servers=http://127.0.0.1:2379 \
|
--etcd-servers=http://127.0.0.1:2379 \
|
||||||
--etcd-servers-overrides=/events#${EVENT_STORE_URL} \
|
--etcd-servers-overrides=/events#${EVENT_STORE_URL} \
|
||||||
--tls-cert-file=/srv/kubernetes/server.cert \
|
--tls-cert-file=/srv/kubernetes/server.cert \
|
||||||
@ -129,14 +140,16 @@ kubernetes/server/bin/kube-apiserver \
|
|||||||
--secure-port=443 \
|
--secure-port=443 \
|
||||||
--basic-auth-file=/srv/kubernetes/basic_auth.csv \
|
--basic-auth-file=/srv/kubernetes/basic_auth.csv \
|
||||||
--target-ram-mb=$((${NUM_NODES} * 60)) \
|
--target-ram-mb=$((${NUM_NODES} * 60)) \
|
||||||
$(cat apiserver_flags) &>> /var/log/kube-apiserver.log &
|
$(cat /apiserver_flags | tr '\n' ' ')\""
|
||||||
|
write_supervisor_conf "kube-contoller-manager" "${ulimit_command} /kubernetes/server/bin/kube-controller-manager \
|
||||||
# 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 \
|
|
||||||
--master=127.0.0.1:8080 \
|
--master=127.0.0.1:8080 \
|
||||||
--service-account-private-key-file=/srv/kubernetes/server.key \
|
--service-account-private-key-file=/srv/kubernetes/server.key \
|
||||||
--root-ca-file=/srv/kubernetes/ca.crt \
|
--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}/apiserver_flags" \
|
||||||
"${RESOURCE_DIRECTORY}/scheduler_flags" \
|
"${RESOURCE_DIRECTORY}/scheduler_flags" \
|
||||||
"${RESOURCE_DIRECTORY}/controllers_flags" \
|
"${RESOURCE_DIRECTORY}/controllers_flags" \
|
||||||
"${MASTER_NAME}":~
|
"root@${MASTER_NAME}":/
|
||||||
|
|
||||||
|
|
||||||
gcloud compute ssh "${MASTER_NAME}" --zone="${ZONE}" --project="${PROJECT}" \
|
gcloud compute ssh "${MASTER_NAME}" --zone="${ZONE}" --project="${PROJECT}" \
|
||||||
--command="chmod a+x configure-kubectl.sh && chmod a+x start-kubemark-master.sh && \
|
--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:-}"
|
sudo /start-kubemark-master.sh ${EVENT_STORE_IP:-127.0.0.1} ${NUM_NODES:-0} ${EVENT_PD:-false} ${ETCD_IMAGE:-}"
|
||||||
|
|
||||||
# create kubeconfig for Kubelet:
|
# create kubeconfig for Kubelet:
|
||||||
KUBECONFIG_CONTENTS=$(echo "apiVersion: v1
|
KUBECONFIG_CONTENTS=$(echo "apiVersion: v1
|
||||||
@ -301,5 +302,6 @@ until [[ "${ready}" -ge "${NUM_NODES}" ]]; do
|
|||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
echo "Master IP: ${MASTER_IP}"
|
||||||
echo "Password to kubemark master: ${password}"
|
echo "Password to kubemark master: ${password}"
|
||||||
echo "Kubeconfig for kubemark master is written in ${LOCAL_KUBECONFIG}"
|
echo "Kubeconfig for kubemark master is written in ${LOCAL_KUBECONFIG}"
|
||||||
|
Loading…
Reference in New Issue
Block a user