diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index ddc49a80b37..b6e9ef346e1 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -615,6 +615,7 @@ function start-kube-scheduler { # Remove salt comments and replace variables with values. local -r src_file="${KUBE_HOME}/kube-manifests/kubernetes/gci-trusty/kube-scheduler.manifest" remove-salt-config-comments "${src_file}" + sed -i -e "s@{{params}}@${params}@g" "${src_file}" sed -i -e "s@{{pillar\['kube_docker_registry'\]}}@${DOCKER_REGISTRY}@g" "${src_file}" sed -i -e "s@{{pillar\['kube-scheduler_docker_tag'\]}}@${kube_scheduler_docker_tag}@g" "${src_file}" @@ -624,19 +625,23 @@ function start-kube-scheduler { # Starts cluster autoscaler. function start-cluster-autoscaler { if [ "${ENABLE_NODE_AUTOSCALER:-}" = "true" ]; then + echo "Start kubernetes cluster autoscaler" + prepare-log-file /var/log/cluster-autoscaler.log + # Remove salt comments and replace variables with values - src_file="${KUBE_HOME}/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest" + local -r src_file="${KUBE_HOME}/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest" remove-salt-config-comments "${src_file}" - local params=`sed 's/^/"/;s/ /","/g;s/$/",/' <<< "${AUTOSCALER_MIG_CONFIG}"` + local params="${AUTOSCALER_MIG_CONFIG}" if [[ -n "${PROJECT_ID:-}" && -n "${TOKEN_URL:-}" && -n "${TOKEN_BODY:-}" && -n "${NODE_NETWORK:-}" ]]; then params+=" --cloud-config=/etc/gce.conf" fi - sed -i -e "s@\"{{param}}\",@${params}@g" "${src_file}" + sed -i -e "s@{{params}}@${params}@g" "${src_file}" sed -i -e "s@{{cloud_config_mount}}@${CLOUD_CONFIG_MOUNT}@g" "${src_file}" sed -i -e "s@{{cloud_config_volume}}@${CLOUD_CONFIG_VOLUME}@g" "${src_file}" sed -i -e "s@{%.*%}@@g" "${src_file}" + cp "${src_file}" /etc/kubernetes/manifests fi } diff --git a/cluster/gce/trusty/configure-helper.sh b/cluster/gce/trusty/configure-helper.sh index 396ddf4cf85..68976805df6 100644 --- a/cluster/gce/trusty/configure-helper.sh +++ b/cluster/gce/trusty/configure-helper.sh @@ -617,15 +617,18 @@ start_kube_scheduler() { # Starts k8s cluster autoscaler. start_cluster_autoscaler() { if [ "${ENABLE_NODE_AUTOSCALER:-}" = "true" ]; then + prepare-log-file /var/log/cluster-autoscaler.log + # Remove salt comments and replace variables with values src_file="${kube_home}/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest" remove_salt_config_comments "${src_file}" - params="$(echo "${AUTOSCALER_MIG_CONFIG}" | sed 's/^/"/;s/ /","/g;s/$/",/')" + + params="${AUTOSCALER_MIG_CONFIG}" if [ -n "${PROJECT_ID:-}" ] && [ -n "${TOKEN_URL:-}" ] && [ -n "${TOKEN_BODY:-}" ] && [ -n "${NODE_NETWORK:-}" ]; then params="${params} --cloud-config=/etc/gce.conf" fi - sed -i -e "s@\"{{param}}\",@${params}@g" "${src_file}" + sed -i -e "s@{{params}}@${params}@g" "${src_file}" sed -i -e "s@{{cloud_config_mount}}@${CLOUD_CONFIG_MOUNT}@g" "${src_file}" sed -i -e "s@{{cloud_config_volume}}@${CLOUD_CONFIG_VOLUME}@g" "${src_file}" cp "${src_file}" /etc/kubernetes/manifests diff --git a/cluster/log-dump.sh b/cluster/log-dump.sh index 027df9cdee1..585f22ccd3a 100755 --- a/cluster/log-dump.sh +++ b/cluster/log-dump.sh @@ -77,7 +77,7 @@ function save-logs() { readonly master_ssh_supported_providers="gce aws kubemark" readonly node_ssh_supported_providers="gce gke aws" -readonly master_logfiles="kube-apiserver kube-scheduler kube-controller-manager etcd glbc" +readonly master_logfiles="kube-apiserver kube-scheduler kube-controller-manager etcd glbc cluster-autoscaler" readonly node_logfiles="kube-proxy" readonly aws_logfiles="cloud-init-output" readonly gce_logfiles="startupscript" diff --git a/cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest b/cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest index 49fa33d72fd..010a3dcf3f0 100644 --- a/cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest +++ b/cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest @@ -27,12 +27,9 @@ "name": "cluster-autoscaler", "image": "gcr.io/google_containers/cluster-autoscaler:v0.1.1", "command": [ - "./cluster-autoscaler", - "--kubernetes=http://127.0.0.1:8080?inClusterConfig=f", - {% for param in params.split(" ") %} - "{{param}}", - {% endfor %} - "-v=4" + "/bin/sh", + "-c", + "./cluster-autoscaler --kubernetes=http://127.0.0.1:8080?inClusterConfig=f -v=4 {{params}} 1>>/var/log/cluster-autoscaler.log 2>&1" ], "resources": { "limits": { @@ -50,6 +47,11 @@ "name": "ssl-certs", "readOnly": true, "mountPath": "/etc/ssl/certs" + }, + { + "name": "logfile", + "mountPath": "/var/log/cluster-autoscaler.log", + "readOnly": false } ], "terminationMessagePath": "/dev/termination-log", @@ -63,6 +65,12 @@ "hostPath": { "path": "/etc/ssl/certs" } + }, + { + "name": "logfile", + "hostPath": { + "path": "/var/log/cluster-autoscaler.log" + } } ], "restartPolicy": "Always" diff --git a/cluster/saltbase/salt/cluster-autoscaler/init.sls b/cluster/saltbase/salt/cluster-autoscaler/init.sls index 17774195bb5..cf4b042ef2f 100644 --- a/cluster/saltbase/salt/cluster-autoscaler/init.sls +++ b/cluster/saltbase/salt/cluster-autoscaler/init.sls @@ -17,3 +17,9 @@ - require: - service: docker - service: kubelet + +/var/log/cluster-autoscaler.log: + file.managed: + - user: root + - group: root + - mode: 644