From de1d44e3f06bcde6c3ae1e269df291f8c643e78e Mon Sep 17 00:00:00 2001 From: Paul Morie Date: Wed, 31 Aug 2016 15:36:54 -0400 Subject: [PATCH] Make it possible to run local kubelet independently of cluster --- hack/local-up-cluster.sh | 74 +++++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 16 deletions(-) diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index 2ef17fc8ab3..a99cbec16d1 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -42,6 +42,9 @@ HOSTNAME_OVERRIDE=${HOSTNAME_OVERRIDE:-"127.0.0.1"} CLOUD_PROVIDER=${CLOUD_PROVIDER:-""} CLOUD_CONFIG=${CLOUD_CONFIG:-""} +# START_MODE can be 'all', 'kubeletonly', or 'nokubelet' +START_MODE=${START_MODE:-"all"} + # sanity check for OpenStack provider if [ "${CLOUD_PROVIDER}" == "openstack" ]; then if [ "${CLOUD_CONFIG}" == "" ]; then @@ -131,6 +134,7 @@ CHAOS_CHANCE=${CHAOS_CHANCE:-0.0} CPU_CFS_QUOTA=${CPU_CFS_QUOTA:-false} ENABLE_HOSTPATH_PROVISIONER=${ENABLE_HOSTPATH_PROVISIONER:-"false"} CLAIM_BINDER_SYNC_PERIOD=${CLAIM_BINDER_SYNC_PERIOD:-"15s"} # current k8s default +ENABLE_CONTROLLER_ATTACH_DETACH=${ENABLE_CONTROLLER_ATTACH_DETACH:-"true"} # current default function test_apiserver_off { # For the common local scenario, fail fast if server is already running. @@ -246,7 +250,7 @@ cleanup() exit 0 } -function startETCD { +function start_etcd { echo "Starting etcd" kube::etcd::start } @@ -335,6 +339,11 @@ function start_controller_manager { function start_kubelet { KUBELET_LOG=/tmp/kubelet.log + priv_arg="" + if [[ -n "${ALLOW_PRIVILEGED}" ]]; then + priv_arg="--allow-privileged " + fi + mkdir -p /var/lib/kubelet if [[ -z "${DOCKERIZE_KUBELET}" ]]; then # On selinux enabled systems, it might @@ -386,6 +395,7 @@ function start_kubelet { --address="${KUBELET_HOST}" \ --api-servers="${API_HOST}:${API_PORT}" \ --cpu-cfs-quota=${CPU_CFS_QUOTA} \ + --enable-controller-attach-detach="${ENABLE_CONTROLLER_ATTACH_DETACH}" \ ${dns_args} \ ${net_plugin_dir_args} \ ${net_plugin_args} \ @@ -426,7 +436,7 @@ function start_kubelet { -i \ --cidfile=$KUBELET_CIDFILE \ gcr.io/google_containers/kubelet \ - /kubelet --v=${LOG_LEVEL} --containerized ${priv_arg}--chaos-chance="${CHAOS_CHANCE}" --hostname-override="${HOSTNAME_OVERRIDE}" --cloud-provider="${CLOUD_PROVIDER}" --cloud-config="${CLOUD_CONFIG}" \ --address="127.0.0.1" --api-servers="${API_HOST}:${API_PORT}" --port="$KUBELET_PORT" &> $KUBELET_LOG & + /kubelet --v=${LOG_LEVEL} --containerized ${priv_arg}--chaos-chance="${CHAOS_CHANCE}" --hostname-override="${HOSTNAME_OVERRIDE}" --cloud-provider="${CLOUD_PROVIDER}" --cloud-config="${CLOUD_CONFIG}" \ --address="127.0.0.1" --api-servers="${API_HOST}:${API_PORT}" --port="$KUBELET_PORT" --enable-controller-attach-detach="${ENABLE_CONTROLLER_ATTACH_DETACH}" &> $KUBELET_LOG & fi } @@ -484,16 +494,29 @@ EOF } function print_success { -cat <