diff --git a/cluster/addons/README.md b/cluster/addons/README.md index 03e059ac029..52590882459 100644 --- a/cluster/addons/README.md +++ b/cluster/addons/README.md @@ -7,8 +7,7 @@ Kubernetes clusters. The add-ons are visible through the API (they can be listed because the system will bring them back to the original state, in particular: - If an add-on is deleted, it will be recreated automatically. - If an add-on is updated through Apiserver, it will be reconfigured to the state given by -the supplied fields in the initial config. Though it is fine to modify a field that was -unspecified. +the supplied fields in the initial config. On the cluster, the add-ons are kept in `/etc/kubernetes/addons` on the master node, in yaml / json files. The addon manager periodically `kubectl apply`s the contents of this diff --git a/cluster/addons/addon-manager/CHANGELOG.md b/cluster/addons/addon-manager/CHANGELOG.md index 4b5161fb81f..c9c9744f30c 100644 --- a/cluster/addons/addon-manager/CHANGELOG.md +++ b/cluster/addons/addon-manager/CHANGELOG.md @@ -1,3 +1,6 @@ +### Version 6.0 (Fri November 18 2016 Zihong Zheng ) + - Upgrade Addon Manager to use `kubectl apply`. + ### Version 5.2 (Wed October 26 2016 Zihong Zheng ) - Added support for ConfigMap and upgraded kubectl version to v1.4.4 (pr #35255) diff --git a/cluster/addons/addon-manager/Dockerfile b/cluster/addons/addon-manager/Dockerfile index 6f6d83951d7..c8961bd9313 100644 --- a/cluster/addons/addon-manager/Dockerfile +++ b/cluster/addons/addon-manager/Dockerfile @@ -14,12 +14,6 @@ FROM BASEIMAGE -# If we're building for another architecture than amd64, the CROSS_BUILD_ placeholder is removed so e.g. CROSS_BUILD_COPY turns into COPY -# If we're building normally, for amd64, CROSS_BUILD lines are removed -CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/ - -RUN pip install pyyaml - ADD kube-addons.sh /opt/ ADD namespace.yaml /opt/ ADD kubectl /usr/local/bin/ diff --git a/cluster/addons/addon-manager/Makefile b/cluster/addons/addon-manager/Makefile index 1024a288165..acc6d3451eb 100644 --- a/cluster/addons/addon-manager/Makefile +++ b/cluster/addons/addon-manager/Makefile @@ -15,48 +15,31 @@ IMAGE=gcr.io/google-containers/kube-addon-manager ARCH?=amd64 TEMP_DIR:=$(shell mktemp -d) -VERSION=v5.2 -KUBECTL_VERSION?=v1.5.0-alpha.1 +VERSION=v6.0 +KUBECTL_VERSION?=v1.5.0-beta.1 -# amd64 and arm has "stable" binaries pushed for v1.2, arm64 and ppc64le hasn't so they have to fetch the latest alpha -# however, arm64 and ppc64le are very experimental right now, so it's okay ifeq ($(ARCH),amd64) - BASEIMAGE?=python:2.7-slim + BASEIMAGE?=bashell/alpine-bash endif ifeq ($(ARCH),arm) - BASEIMAGE?=hypriot/rpi-python:2.7 - QEMUARCH=arm + BASEIMAGE?=armel/debian endif ifeq ($(ARCH),arm64) - BASEIMAGE?=aarch64/python:2.7-slim - QEMUARCH=aarch64 + BASEIMAGE?=aarch64/debian endif ifeq ($(ARCH),ppc64le) - BASEIMAGE?=ppc64le/python:2.7-slim - QEMUARCH=ppc64le + BASEIMAGE?=ppc64le/debian endif .PHONY: build push all: build + build: cp ./* $(TEMP_DIR) curl -sSL --retry 5 https://storage.googleapis.com/kubernetes-release/release/$(KUBECTL_VERSION)/bin/linux/$(ARCH)/kubectl > $(TEMP_DIR)/kubectl chmod +x $(TEMP_DIR)/kubectl - cd ${TEMP_DIR} && sed -i.back "s|ARCH|$(QEMUARCH)|g" Dockerfile cd $(TEMP_DIR) && sed -i.back "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile - -ifeq ($(ARCH),amd64) - # When building "normally" for amd64, remove the whole line, it has no part in the amd64 image - cd $(TEMP_DIR) && sed -i.back "/CROSS_BUILD_/d" Dockerfile -else - # When cross-building, only the placeholder "CROSS_BUILD_" should be removed - # Register /usr/bin/qemu-ARCH-static as the handler for other-arch binaries in the kernel - docker run --rm --privileged multiarch/qemu-user-static:register --reset - curl -sSL --retry 5 https://github.com/multiarch/qemu-user-static/releases/download/v2.5.0/x86_64_qemu-$(QEMUARCH)-static.tar.xz | tar -xJ -C $(TEMP_DIR) - cd $(TEMP_DIR) && sed -i.back "s/CROSS_BUILD_//g" Dockerfile -endif - docker build -t $(IMAGE)-$(ARCH):$(VERSION) $(TEMP_DIR) push: build diff --git a/cluster/images/hyperkube/static-pods/addon-manager-multinode.json b/cluster/images/hyperkube/static-pods/addon-manager-multinode.json index 67d78426f93..3248a19b566 100644 --- a/cluster/images/hyperkube/static-pods/addon-manager-multinode.json +++ b/cluster/images/hyperkube/static-pods/addon-manager-multinode.json @@ -11,7 +11,7 @@ "containers": [ { "name": "kube-addon-manager", - "image": "REGISTRY/kube-addon-manager-ARCH:v6.0-alpha.1", + "image": "REGISTRY/kube-addon-manager-ARCH:v6.0", "resources": { "requests": { "cpu": "5m", diff --git a/cluster/images/hyperkube/static-pods/addon-manager-singlenode.json b/cluster/images/hyperkube/static-pods/addon-manager-singlenode.json index 261180c2837..40659250d24 100644 --- a/cluster/images/hyperkube/static-pods/addon-manager-singlenode.json +++ b/cluster/images/hyperkube/static-pods/addon-manager-singlenode.json @@ -11,7 +11,7 @@ "containers": [ { "name": "kube-addon-manager", - "image": "REGISTRY/kube-addon-manager-ARCH:v6.0-alpha.1", + "image": "REGISTRY/kube-addon-manager-ARCH:v6.0", "resources": { "requests": { "cpu": "5m", diff --git a/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml b/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml index 595b569b254..2b49367a051 100644 --- a/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml +++ b/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml @@ -10,7 +10,7 @@ spec: containers: - name: kube-addon-manager # When updating version also bump it in cluster/images/hyperkube/static-pods/addon-manager.json - image: gcr.io/google-containers/kube-addon-manager:v6.0-alpha.1 + image: gcr.io/google-containers/kube-addon-manager:v6.0 command: - /bin/bash - -c