From e242b0158c97835aabe158e1c48bff37c6e41e79 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 26 Jun 2015 11:00:54 -0400 Subject: [PATCH 1/6] Don't make kubelet systemd service depend on Docker Fixes #10379 (cherry picked from commit 54d3ac92eab8e408e7e163bb86d5d165707c3dcc) --- cluster/saltbase/salt/kubelet/kubelet.service | 2 -- 1 file changed, 2 deletions(-) diff --git a/cluster/saltbase/salt/kubelet/kubelet.service b/cluster/saltbase/salt/kubelet/kubelet.service index e5ffdb0804d..0c5b653e503 100644 --- a/cluster/saltbase/salt/kubelet/kubelet.service +++ b/cluster/saltbase/salt/kubelet/kubelet.service @@ -1,8 +1,6 @@ [Unit] Description=Kubernetes Kubelet Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes -After=docker.service -Requires=docker.service [Service] EnvironmentFile=/etc/sysconfig/kubelet From c1faae2c3047e5da3265ee03b42fc970e507902c Mon Sep 17 00:00:00 2001 From: Prashanth Balasubramanian Date: Sun, 28 Jun 2015 19:36:27 -0700 Subject: [PATCH 2/6] Kubelet doesn't fight apiserver for cputime on the master. (cherry picked from commit 029e0ad35097c3c8fabc9812f0bc86efe699afe3) --- pkg/kubelet/status_manager.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/kubelet/status_manager.go b/pkg/kubelet/status_manager.go index a3501a72b19..d793b08b284 100644 --- a/pkg/kubelet/status_manager.go +++ b/pkg/kubelet/status_manager.go @@ -64,6 +64,13 @@ func isStatusEqual(oldStatus, status *api.PodStatus) bool { } func (s *statusManager) Start() { + // Don't start the status manager if we don't have a client. This will happen + // on the master, where the kubelet is responsible for bootstrapping the pods + // of the master components. + if s.kubeClient == nil { + glog.Infof("Kubernetes client is nil, not starting status manager.") + return + } // syncBatch blocks when no updates are available, we can run it in a tight loop. glog.Info("Starting to sync pod status with apiserver") go util.Forever(func() { @@ -142,10 +149,6 @@ func (s *statusManager) RemoveOrphanedStatuses(podFullNames map[string]bool) { // syncBatch syncs pods statuses with the apiserver. func (s *statusManager) syncBatch() error { - if s.kubeClient == nil { - glog.V(4).Infof("Kubernetes client is nil, skipping pod status updates") - return nil - } syncRequest := <-s.podStatusChannel pod := syncRequest.pod podFullName := kubecontainer.GetPodFullName(pod) From 8cd68b66298368903050c205025ddad87edc2cae Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Mon, 29 Jun 2015 17:58:38 -0700 Subject: [PATCH 3/6] wait until a token shows up to start addons (cherry picked from commit dcd91666b9606424c216dcaf035db0d7afd2af08) --- cluster/saltbase/salt/kube-addons/kube-addons.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cluster/saltbase/salt/kube-addons/kube-addons.sh b/cluster/saltbase/salt/kube-addons/kube-addons.sh index 4c1f6b452b4..7f365d3a7f3 100644 --- a/cluster/saltbase/salt/kube-addons/kube-addons.sh +++ b/cluster/saltbase/salt/kube-addons/kube-addons.sh @@ -134,6 +134,15 @@ for k,v in yaml.load(sys.stdin).iteritems(): ''' < "${kube_env_yaml}") fi +# Wait for the default service account +token_found="" +while [ -z "${token_made}" ]; do + sleep .5 + token_found=$(${KUBECTL} get serviceaccount default -o template -t "{{with index .secrets 0}}{{.name}}{{end}}" || echo "") +done + +echo "default service account has token ${token_found}" + # Generate secrets for "internal service accounts". # TODO(etune): move to a completely yaml/object based # workflow so that service accounts can be created From 6d92c21a7c6016c7f244ef53c170a2fe4d1dcec1 Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Tue, 30 Jun 2015 06:51:10 -0700 Subject: [PATCH 4/6] Fix issues mentioned in #10520 (cherry picked from commit f21b6b89d109d44662c4041a0378804b26f1a26c) --- cluster/saltbase/salt/kube-addons/kube-addons.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/cluster/saltbase/salt/kube-addons/kube-addons.sh b/cluster/saltbase/salt/kube-addons/kube-addons.sh index 7f365d3a7f3..969ae469266 100644 --- a/cluster/saltbase/salt/kube-addons/kube-addons.sh +++ b/cluster/saltbase/salt/kube-addons/kube-addons.sh @@ -136,12 +136,12 @@ fi # Wait for the default service account token_found="" -while [ -z "${token_made}" ]; do +while [ -z "${token_found}" ]; do sleep .5 - token_found=$(${KUBECTL} get serviceaccount default -o template -t "{{with index .secrets 0}}{{.name}}{{end}}" || echo "") + token_found=$(${KUBECTL} get serviceaccount default -o template -t "{{with index .secrets 0}}{{.name}}{{end}}" || true) done -echo "default service account has token ${token_found}" +echo "== default service account has token ${token_found} ==" # Generate secrets for "internal service accounts". # TODO(etune): move to a completely yaml/object based @@ -180,6 +180,3 @@ while true; do `dirname $0`/kube-addon-update.sh /etc/kubernetes/addons sleep $ADDON_CHECK_INTERVAL_SEC done - - - From 323fde5bc5c45e30bbb5451ccf5c1ff01b0717f7 Mon Sep 17 00:00:00 2001 From: Alex Mohr Date: Tue, 30 Jun 2015 11:03:55 -0700 Subject: [PATCH 5/6] Kubernetes version v0.20.2 --- pkg/version/base.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/version/base.go b/pkg/version/base.go index b8c83182e75..15a90b2d908 100644 --- a/pkg/version/base.go +++ b/pkg/version/base.go @@ -36,8 +36,8 @@ package version var ( // TODO: Deprecate gitMajor and gitMinor, use only gitVersion instead. gitMajor string = "0" // major version, always numeric - gitMinor string = "20.1+" // minor version, numeric possibly followed by "+" - gitVersion string = "v0.20.1-dev" // version from git, output of $(git describe) + gitMinor string = "20.2" // minor version, numeric possibly followed by "+" + gitVersion string = "v0.20.2" // version from git, output of $(git describe) gitCommit string = "" // sha1 from git, output of $(git rev-parse HEAD) gitTreeState string = "not a git tree" // state of git tree, either "clean" or "dirty" ) From 205dfeaa2761043c5e81c57ae9cb73a471157561 Mon Sep 17 00:00:00 2001 From: Alex Mohr Date: Tue, 30 Jun 2015 11:03:55 -0700 Subject: [PATCH 6/6] Kubernetes version v0.20.2-dev --- pkg/version/base.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/version/base.go b/pkg/version/base.go index 15a90b2d908..07f71c6007e 100644 --- a/pkg/version/base.go +++ b/pkg/version/base.go @@ -36,8 +36,8 @@ package version var ( // TODO: Deprecate gitMajor and gitMinor, use only gitVersion instead. gitMajor string = "0" // major version, always numeric - gitMinor string = "20.2" // minor version, numeric possibly followed by "+" - gitVersion string = "v0.20.2" // version from git, output of $(git describe) + gitMinor string = "20.2+" // minor version, numeric possibly followed by "+" + gitVersion string = "v0.20.2-dev" // version from git, output of $(git describe) gitCommit string = "" // sha1 from git, output of $(git rev-parse HEAD) gitTreeState string = "not a git tree" // state of git tree, either "clean" or "dirty" )