From 0d8c4789a15b3849769a12822d2b8ac8cbacce45 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Mon, 17 Jul 2017 14:21:10 +0100 Subject: [PATCH 1/8] kubernetes: update clean rule The kernel has been -kernel rather than -bzImage for some time. Likewise the disk moved the state dir. Signed-off-by: Ian Campbell --- projects/kubernetes/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/kubernetes/Makefile b/projects/kubernetes/Makefile index 7c915da0b..f4d027413 100644 --- a/projects/kubernetes/Makefile +++ b/projects/kubernetes/Makefile @@ -18,7 +18,7 @@ kube-node-initrd.img: kube-node.yml clean: rm -f -r \ - kube-*-bzImage kube-*-cmdline kube-*-disk.img kube-*-initrd.img \ + kube-*-kernel kube-*-cmdline kube-*-state kube-*-initrd.img \ image-cache/common image-cache/control-plane COMMON_IMAGES := \ From 56a8d2468af33242fbf87dab3c82420be4ef3956 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Mon, 17 Jul 2017 15:47:50 +0100 Subject: [PATCH 2/8] kubernetes: modernise image cache builds This updates the build of the two image caches to use the `pkg/package.mk` infrastructure, albeit in a slightly (ok, very) atypical way. In order to share the bulk of the build code (including the `Dockerfile` and the `Makefile` machinery to download the images) we arrange for the necessary bits to be copied at build time into distinct subdirectories and for the `pkg/package.mk` to be aware of this possibility. Since pkg/package.mk is only set up to build a single package we use a single `image-cache/Makefile` to drive the whole process and recurse into `Makefile.pkg` to build individual packages. One particular subtlety is that the package hash is based on the `image-cache` directory (which is in `git`) rather than the generated subdirectories (which are not in `git`). Since all the generators (and their inputs) are in the `image-cache` directory this is what we want. This means that the two images are given the same tag, but this is deliberate and desirable. The generated directories are completely temporary to avoid picking up stale versions of images when versions are updated. Images are hardlinked into place. The images are moved to the linuxkitprojects org. Using a dev tag for now, will update once everything is in place. Also use "tag" rather than "build" where appropriate in the Makefile. There is no point in the .dockerignore now, but add a .gitignore. Signed-off-by: Ian Campbell --- pkg/package.mk | 10 +++- projects/kubernetes/Makefile | 50 ++++--------------- projects/kubernetes/image-cache/.dockerignore | 1 - projects/kubernetes/image-cache/.gitignore | 1 + projects/kubernetes/image-cache/Makefile | 45 +++++++++++++++++ projects/kubernetes/image-cache/Makefile.pkg | 10 ++++ projects/kubernetes/kube-master.yml | 4 +- projects/kubernetes/kube-node.yml | 2 +- 8 files changed, 78 insertions(+), 45 deletions(-) delete mode 100644 projects/kubernetes/image-cache/.dockerignore create mode 100644 projects/kubernetes/image-cache/.gitignore create mode 100644 projects/kubernetes/image-cache/Makefile create mode 100644 projects/kubernetes/image-cache/Makefile.pkg diff --git a/pkg/package.mk b/pkg/package.mk index 58795a5ff..72592319b 100644 --- a/pkg/package.mk +++ b/pkg/package.mk @@ -2,6 +2,12 @@ default: push ORG?=linuxkit +SOURCE ?= . + +# Hash is of $(CURDIR) not $(CURDIR)$(SOURCE) to allow autogenerated +# source subdirectories (which would not be covered by ls-tree, but +# the code which autogenerates should be in $(CURDIR) so that is what +# we want to use. ifeq ($(HASH),) HASH_COMMIT?=HEAD # Setting this is only really useful with the show-tag target HASH?=$(shell git ls-tree --full-tree $(HASH_COMMIT) -- $(CURDIR) | awk '{print $$3}') @@ -44,10 +50,10 @@ show-tag: @echo $(TAG) tag: $(BASE_DEPS) $(DEPS) - docker pull $(TAG) || docker build $(LABELS) $(NET_OPT) -t $(TAG) . + docker pull $(TAG) || docker build $(LABELS) $(NET_OPT) -t $(TAG) $(SOURCE) forcetag: $(BASE_DEPS) $(DEPS) - docker build $(LABELS) $(NET_OPT) -t $(TAG) . + docker build $(LABELS) $(NET_OPT) -t $(TAG) $(SOURCE) push: tag ifneq ($(DIRTY),) diff --git a/projects/kubernetes/Makefile b/projects/kubernetes/Makefile index f4d027413..9f300d07c 100644 --- a/projects/kubernetes/Makefile +++ b/projects/kubernetes/Makefile @@ -1,12 +1,14 @@ -all: build-container-images build-vm-images +all: tag-container-images build-vm-images -build-container-images: - make -C kubernetes tag +tag-container-images: + $(MAKE) -C kubernetes tag -push-container-images: cache-images - make -C kubernetes push - docker image push linuxkit/kubernetes:latest-image-cache-common - docker image push linuxkit/kubernetes:latest-image-cache-control-plane +tag-cache-images: + $(MAKE) -C image-cache tag + +push-container-images: + $(MAKE) -C kubernetes push + $(MAKE) -C image-cache push build-vm-images: kube-master-initrd.img kube-node-initrd.img @@ -18,35 +20,5 @@ kube-node-initrd.img: kube-node.yml clean: rm -f -r \ - kube-*-kernel kube-*-cmdline kube-*-state kube-*-initrd.img \ - image-cache/common image-cache/control-plane - -COMMON_IMAGES := \ - kube-proxy-amd64:v1.6.1 \ - k8s-dns-sidecar-amd64:1.14.1 \ - k8s-dns-kube-dns-amd64:1.14.1 \ - k8s-dns-dnsmasq-nanny-amd64:1.14.1 \ - pause-amd64:3.0 - -CONTROL_PLANE_IMAGES := \ - kube-apiserver-amd64:v1.6.1 \ - kube-controller-manager-amd64:v1.6.1 \ - kube-scheduler-amd64:v1.6.1 \ - etcd-amd64:3.0.17 - -image-cache/%.tar: - mkdir -p $(dir $@) - docker image pull gcr.io/google_containers/$(shell basename $@ .tar) - docker image save -o $@ gcr.io/google_containers/$(shell basename $@ .tar) - -cache-images: - for image in $(COMMON_IMAGES) ; \ - do $(MAKE) "image-cache/common/$${image}.tar" \ - ; done - cp image-cache/Dockerfile image-cache/.dockerignore image-cache/common - docker image build -t linuxkit/kubernetes:latest-image-cache-common image-cache/common - for image in $(CONTROL_PLANE_IMAGES) ; \ - do $(MAKE) "image-cache/control-plane/$${image}.tar" \ - ; done - cp image-cache/Dockerfile image-cache/.dockerignore image-cache/control-plane - docker image build -t linuxkit/kubernetes:latest-image-cache-control-plane image-cache/control-plane + kube-*-kernel kube-*-cmdline kube-*-state kube-*-initrd.img + $(MAKE) -C image-cache clean diff --git a/projects/kubernetes/image-cache/.dockerignore b/projects/kubernetes/image-cache/.dockerignore deleted file mode 100644 index 94143827e..000000000 --- a/projects/kubernetes/image-cache/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -Dockerfile diff --git a/projects/kubernetes/image-cache/.gitignore b/projects/kubernetes/image-cache/.gitignore new file mode 100644 index 000000000..d2e0e9b02 --- /dev/null +++ b/projects/kubernetes/image-cache/.gitignore @@ -0,0 +1 @@ +dl/ diff --git a/projects/kubernetes/image-cache/Makefile b/projects/kubernetes/image-cache/Makefile new file mode 100644 index 000000000..baaab29ff --- /dev/null +++ b/projects/kubernetes/image-cache/Makefile @@ -0,0 +1,45 @@ +default: push + +COMMON_IMAGES := \ + kube-proxy-amd64\:v1.6.1 \ + k8s-dns-sidecar-amd64\:1.14.1 \ + k8s-dns-kube-dns-amd64\:1.14.1 \ + k8s-dns-dnsmasq-nanny-amd64\:1.14.1 \ + pause-amd64\:3.0 + +CONTROL_PLANE_IMAGES := \ + kube-apiserver-amd64\:v1.6.1 \ + kube-controller-manager-amd64\:v1.6.1 \ + kube-scheduler-amd64\:v1.6.1 \ + etcd-amd64\:3.0.17 + +dl/%.tar: + mkdir -p $(dir $@) + docker image pull gcr.io/google_containers/$(shell basename $@ .tar) + docker image save -o $@ gcr.io/google_containers/$(shell basename $@ .tar) + +%-pkg: + set -e ; \ + builddir=$$(mktemp -d $(CACHE).XXXXXX) ; \ + trap 'rm -rf $${builddir}' EXIT ; \ + ln $(IMAGES) $${builddir} ; \ + $(MAKE) -f Makefile.pkg BUILDDIR=$${builddir} CACHE=$(CACHE) $* + +.PHONY: tag-common push-common +tag-common push-common: %-common: $(patsubst %,dl/%.tar,$(COMMON_IMAGES)) + $(MAKE) CACHE=common IMAGES="$^" $*-pkg + +.PHONY: tag-control-plane push-control-plane +tag-control-plane push-control-plane: %-control-plane: $(patsubst %,dl/%.tar,$(CONTROL_PLANE_IMAGES)) + $(MAKE) CACHE=control-plane IMAGES="$^" $*-pkg + +.PHONY: tag push +tag: tag-common tag-control-plane +push: push-common push-control-plane + +.PHONY: dl +dl: $(patsubst %,dl/%.tar,$(COMMON_IMAGES) $(CONTROL_PLANE_IMAGES)) + +.PHONY: clean +clean: + rm -rf dl diff --git a/projects/kubernetes/image-cache/Makefile.pkg b/projects/kubernetes/image-cache/Makefile.pkg new file mode 100644 index 000000000..8661ca319 --- /dev/null +++ b/projects/kubernetes/image-cache/Makefile.pkg @@ -0,0 +1,10 @@ +ORG?=linuxkitprojects +IMAGE=kubernetes-image-cache-$(CACHE) +NOTRUST=1 +SOURCE=$(BUILDDIR) +DEPS=$(BUILDDIR)/Dockerfile + +$(BUILDDIR)/Dockerfile: Dockerfile + cp $< $@ + +include ../../../pkg/package.mk diff --git a/projects/kubernetes/kube-master.yml b/projects/kubernetes/kube-master.yml index b9241127d..23b4a41b6 100644 --- a/projects/kubernetes/kube-master.yml +++ b/projects/kubernetes/kube-master.yml @@ -56,9 +56,9 @@ services: rootfsPropagation: shared command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"] - name: kubernetes-image-cache-common - image: linuxkit/kubernetes:latest-image-cache-common + image: linuxkitprojects/kubernetes-image-cache-common:dev - name: kubernetes-image-cache-control-plane - image: linuxkit/kubernetes:latest-image-cache-control-plane + image: linuxkitprojects/kubernetes-image-cache-control-plane:dev - name: kubelet image: linuxkitprojects/kubernetes:4f8c61254ff6243e93d5bb6315386ac66e94ed14 files: diff --git a/projects/kubernetes/kube-node.yml b/projects/kubernetes/kube-node.yml index 23ef4345e..7af81efdc 100644 --- a/projects/kubernetes/kube-node.yml +++ b/projects/kubernetes/kube-node.yml @@ -56,7 +56,7 @@ services: rootfsPropagation: shared command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"] - name: kubernetes-image-cache-common - image: linuxkit/kubernetes:latest-image-cache-common + image: linuxkitprojects/kubernetes-image-cache-common:dev - name: kubelet image: linuxkitprojects/kubernetes:4f8c61254ff6243e93d5bb6315386ac66e94ed14 files: From 4b030f2fc61784380b0c2076d79914fcb142eebc Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 18 Jul 2017 10:01:09 +0100 Subject: [PATCH 3/8] kubernetes: use digests for cached images This ensures rebuilds will always get the same things. Signed-off-by: Ian Campbell --- projects/kubernetes/image-cache/Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/projects/kubernetes/image-cache/Makefile b/projects/kubernetes/image-cache/Makefile index baaab29ff..8dce3ebca 100644 --- a/projects/kubernetes/image-cache/Makefile +++ b/projects/kubernetes/image-cache/Makefile @@ -1,17 +1,17 @@ default: push COMMON_IMAGES := \ - kube-proxy-amd64\:v1.6.1 \ - k8s-dns-sidecar-amd64\:1.14.1 \ - k8s-dns-kube-dns-amd64\:1.14.1 \ - k8s-dns-dnsmasq-nanny-amd64\:1.14.1 \ - pause-amd64\:3.0 + kube-proxy-amd64\:v1.6.1\@sha256\:243f2120171330a26c2418a4367fb0f3cc3e92683b00d16e3cf8c7f92e25bf14 \ + k8s-dns-sidecar-amd64\:1.14.1\@sha256\:d33a91a5d65c223f410891001cd379ac734d036429e033865d700a4176e944b0 \ + k8s-dns-kube-dns-amd64\:1.14.1\@sha256\:33914315e600dfb756e550828307dfa2b21fb6db24fe3fe495e33d1022f9245d \ + k8s-dns-dnsmasq-nanny-amd64\:1.14.1\@sha256\:89c9a1d3cfbf370a9c1a949f39f92c1dc2dbe8c3e6cc1802b7f2b48e4dfe9a9e \ + pause-amd64\:3.0\@sha256\:163ac025575b775d1c0f9bf0bdd0f086883171eb475b5068e7defa4ca9e76516 CONTROL_PLANE_IMAGES := \ - kube-apiserver-amd64\:v1.6.1 \ - kube-controller-manager-amd64\:v1.6.1 \ - kube-scheduler-amd64\:v1.6.1 \ - etcd-amd64\:3.0.17 + kube-apiserver-amd64\:v1.6.1\@sha256\:d4387dff51b1f9c94cd1cfac3a4694347970b90e911159ac6fe2d090c96a6184 \ + kube-controller-manager-amd64\:v1.6.1\@sha256\:4bb17ede2e012898169d988facd08d5039d2dcb31532661d4dcdeb161d097d69 \ + kube-scheduler-amd64\:v1.6.1\@sha256\:d3e661bf7bcfb10753e32e1a41615e60fbcddff63232f914e9326a2d1665ce33 \ + etcd-amd64\:3.0.17\@sha256\:d83d3545e06fb035db8512e33bd44afb55dea007a3abd7b17742d3ac6d235940 dl/%.tar: mkdir -p $(dir $@) From 58227545b2f5350dbe033d42248b7ba6cd8d529b Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 18 Jul 2017 12:01:41 +0100 Subject: [PATCH 4/8] kubernetes: Only explictly include *.tar in images No need to have Dockerfile etc. Signed-off-by: Ian Campbell --- projects/kubernetes/image-cache/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/kubernetes/image-cache/Dockerfile b/projects/kubernetes/image-cache/Dockerfile index b94c8710d..33815b306 100644 --- a/projects/kubernetes/image-cache/Dockerfile +++ b/projects/kubernetes/image-cache/Dockerfile @@ -1,5 +1,5 @@ FROM docker:17.06.0-ce-dind -ADD . /images +COPY *.tar /images/ ENTRYPOINT [ "/bin/sh", "-c" ] CMD [ "for image in /images/*.tar ; do docker image load -i $image && rm -f $image ; done" ] LABEL org.mobyproject.config='{"binds": ["/var/run:/var/run"]}' From ee7d785b84e0ae54ae9ec1e4cba8a3e6182233aa Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 18 Jul 2017 12:24:46 +0100 Subject: [PATCH 5/8] kubernetes: minimise size of image cache images The total size of the images in the common and control-plane cache is 251M and 528M respectively. This changes drops the size of the cache images from 353M to 274M and from 630M to 530M, reducing the overhead from ~100M to ~20M. The initrd images shrink from 273M to 246M and from 416M to 363M (the initrd's are compressed). Signed-off-by: Ian Campbell --- projects/kubernetes/image-cache/Dockerfile | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/projects/kubernetes/image-cache/Dockerfile b/projects/kubernetes/image-cache/Dockerfile index 33815b306..a333ede8e 100644 --- a/projects/kubernetes/image-cache/Dockerfile +++ b/projects/kubernetes/image-cache/Dockerfile @@ -1,4 +1,21 @@ -FROM docker:17.06.0-ce-dind +FROM docker:17.06.0-ce-dind AS docker + +# Nothing to do in here, just for COPY --from=docker below + +FROM linuxkit/alpine:9bcf61f605ef0ce36cc94d59b8eac307862de6e1 AS build + +RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/ +RUN apk add --no-cache --initdb -p /out \ + alpine-baselayout \ + busybox + +# Remove apk residuals. We have a read-only rootfs, so apk is of no use. +RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache + +FROM scratch +WORKDIR / +COPY --from=build /out / +COPY --from=docker /usr/local/bin/docker /usr/local/bin/docker COPY *.tar /images/ ENTRYPOINT [ "/bin/sh", "-c" ] CMD [ "for image in /images/*.tar ; do docker image load -i $image && rm -f $image ; done" ] From 87a6e1977060ccfc7210df61725102b486a5b501 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 19 Jul 2017 09:47:41 +0100 Subject: [PATCH 6/8] kubernetes: add "show-tags" target to image-cache Apart from adding the recursive target itself this required: - Unescaping the @ in the image names, this was confusing `make` into always rebuilding and wasn't necessary (I had previously thought I had seen oddities due to these being interpreted by the `patsubst`, but I think that was just the colons. - Making the recursive rules silent (prepending an @), those command lines are not especially enlightening and they obscure the output in the show-tags case. With this the output is like: $ make --no-print-directory -C image-cache/ show-tags linuxkitprojects/kubernetes-image-cache-common:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty linuxkitprojects/kubernetes-image-cache-control-plane:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty Signed-off-by: Ian Campbell --- projects/kubernetes/image-cache/Makefile | 35 ++++++++++++------------ 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/projects/kubernetes/image-cache/Makefile b/projects/kubernetes/image-cache/Makefile index 8dce3ebca..3f2c459af 100644 --- a/projects/kubernetes/image-cache/Makefile +++ b/projects/kubernetes/image-cache/Makefile @@ -1,17 +1,17 @@ default: push COMMON_IMAGES := \ - kube-proxy-amd64\:v1.6.1\@sha256\:243f2120171330a26c2418a4367fb0f3cc3e92683b00d16e3cf8c7f92e25bf14 \ - k8s-dns-sidecar-amd64\:1.14.1\@sha256\:d33a91a5d65c223f410891001cd379ac734d036429e033865d700a4176e944b0 \ - k8s-dns-kube-dns-amd64\:1.14.1\@sha256\:33914315e600dfb756e550828307dfa2b21fb6db24fe3fe495e33d1022f9245d \ - k8s-dns-dnsmasq-nanny-amd64\:1.14.1\@sha256\:89c9a1d3cfbf370a9c1a949f39f92c1dc2dbe8c3e6cc1802b7f2b48e4dfe9a9e \ - pause-amd64\:3.0\@sha256\:163ac025575b775d1c0f9bf0bdd0f086883171eb475b5068e7defa4ca9e76516 + kube-proxy-amd64\:v1.6.1@sha256\:243f2120171330a26c2418a4367fb0f3cc3e92683b00d16e3cf8c7f92e25bf14 \ + k8s-dns-sidecar-amd64\:1.14.1@sha256\:d33a91a5d65c223f410891001cd379ac734d036429e033865d700a4176e944b0 \ + k8s-dns-kube-dns-amd64\:1.14.1@sha256\:33914315e600dfb756e550828307dfa2b21fb6db24fe3fe495e33d1022f9245d \ + k8s-dns-dnsmasq-nanny-amd64\:1.14.1@sha256\:89c9a1d3cfbf370a9c1a949f39f92c1dc2dbe8c3e6cc1802b7f2b48e4dfe9a9e \ + pause-amd64\:3.0@sha256\:163ac025575b775d1c0f9bf0bdd0f086883171eb475b5068e7defa4ca9e76516 CONTROL_PLANE_IMAGES := \ - kube-apiserver-amd64\:v1.6.1\@sha256\:d4387dff51b1f9c94cd1cfac3a4694347970b90e911159ac6fe2d090c96a6184 \ - kube-controller-manager-amd64\:v1.6.1\@sha256\:4bb17ede2e012898169d988facd08d5039d2dcb31532661d4dcdeb161d097d69 \ - kube-scheduler-amd64\:v1.6.1\@sha256\:d3e661bf7bcfb10753e32e1a41615e60fbcddff63232f914e9326a2d1665ce33 \ - etcd-amd64\:3.0.17\@sha256\:d83d3545e06fb035db8512e33bd44afb55dea007a3abd7b17742d3ac6d235940 + kube-apiserver-amd64\:v1.6.1@sha256\:d4387dff51b1f9c94cd1cfac3a4694347970b90e911159ac6fe2d090c96a6184 \ + kube-controller-manager-amd64\:v1.6.1@sha256\:4bb17ede2e012898169d988facd08d5039d2dcb31532661d4dcdeb161d097d69 \ + kube-scheduler-amd64\:v1.6.1@sha256\:d3e661bf7bcfb10753e32e1a41615e60fbcddff63232f914e9326a2d1665ce33 \ + etcd-amd64\:3.0.17@sha256\:d83d3545e06fb035db8512e33bd44afb55dea007a3abd7b17742d3ac6d235940 dl/%.tar: mkdir -p $(dir $@) @@ -19,23 +19,24 @@ dl/%.tar: docker image save -o $@ gcr.io/google_containers/$(shell basename $@ .tar) %-pkg: - set -e ; \ + @set -e ; \ builddir=$$(mktemp -d $(CACHE).XXXXXX) ; \ trap 'rm -rf $${builddir}' EXIT ; \ ln $(IMAGES) $${builddir} ; \ $(MAKE) -f Makefile.pkg BUILDDIR=$${builddir} CACHE=$(CACHE) $* -.PHONY: tag-common push-common -tag-common push-common: %-common: $(patsubst %,dl/%.tar,$(COMMON_IMAGES)) - $(MAKE) CACHE=common IMAGES="$^" $*-pkg +.PHONY: tag-common push-common show-tag-common +tag-common push-common show-tag-common: %-common: $(patsubst %,dl/%.tar,$(COMMON_IMAGES)) + @$(MAKE) CACHE=common IMAGES="$^" $*-pkg -.PHONY: tag-control-plane push-control-plane -tag-control-plane push-control-plane: %-control-plane: $(patsubst %,dl/%.tar,$(CONTROL_PLANE_IMAGES)) - $(MAKE) CACHE=control-plane IMAGES="$^" $*-pkg +.PHONY: tag-control-plane push-control-plane show-tag-control-plane +tag-control-plane push-control-plane show-tag-control-plane: %-control-plane: $(patsubst %,dl/%.tar,$(CONTROL_PLANE_IMAGES)) + @$(MAKE) CACHE=control-plane IMAGES="$^" $*-pkg -.PHONY: tag push +.PHONY: tag push show-tags tag: tag-common tag-control-plane push: push-common push-control-plane +show-tags: show-tag-common show-tag-control-plane .PHONY: dl dl: $(patsubst %,dl/%.tar,$(COMMON_IMAGES) $(CONTROL_PLANE_IMAGES)) From 27d96c2f99bb80f84a9a7d6fcd4e0b598798bd55 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 19 Jul 2017 10:57:50 +0100 Subject: [PATCH 7/8] kubernetes: just use the docker images as a base Since we just want the client we don't need dind. Signed-off-by: Ian Campbell --- projects/kubernetes/image-cache/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/kubernetes/image-cache/Dockerfile b/projects/kubernetes/image-cache/Dockerfile index a333ede8e..39e68d3e2 100644 --- a/projects/kubernetes/image-cache/Dockerfile +++ b/projects/kubernetes/image-cache/Dockerfile @@ -1,4 +1,4 @@ -FROM docker:17.06.0-ce-dind AS docker +FROM docker:17.06.0-ce AS docker # Nothing to do in here, just for COPY --from=docker below From 5e93077a1733513c1aee96bfd8b81c6e35103639 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 18 Jul 2017 15:14:43 +0100 Subject: [PATCH 8/8] kubernetes: update image cache hashes Signed-off-by: Ian Campbell --- projects/kubernetes/kube-master.yml | 4 ++-- projects/kubernetes/kube-node.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/kubernetes/kube-master.yml b/projects/kubernetes/kube-master.yml index 23b4a41b6..6ef31353d 100644 --- a/projects/kubernetes/kube-master.yml +++ b/projects/kubernetes/kube-master.yml @@ -56,9 +56,9 @@ services: rootfsPropagation: shared command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"] - name: kubernetes-image-cache-common - image: linuxkitprojects/kubernetes-image-cache-common:dev + image: linuxkitprojects/kubernetes-image-cache-common:d49a861bde872e6e975153a98a2c482834a30ef9 - name: kubernetes-image-cache-control-plane - image: linuxkitprojects/kubernetes-image-cache-control-plane:dev + image: linuxkitprojects/kubernetes-image-cache-control-plane:d49a861bde872e6e975153a98a2c482834a30ef9 - name: kubelet image: linuxkitprojects/kubernetes:4f8c61254ff6243e93d5bb6315386ac66e94ed14 files: diff --git a/projects/kubernetes/kube-node.yml b/projects/kubernetes/kube-node.yml index 7af81efdc..5a0d4a124 100644 --- a/projects/kubernetes/kube-node.yml +++ b/projects/kubernetes/kube-node.yml @@ -56,7 +56,7 @@ services: rootfsPropagation: shared command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"] - name: kubernetes-image-cache-common - image: linuxkitprojects/kubernetes-image-cache-common:dev + image: linuxkitprojects/kubernetes-image-cache-common:d49a861bde872e6e975153a98a2c482834a30ef9 - name: kubelet image: linuxkitprojects/kubernetes:4f8c61254ff6243e93d5bb6315386ac66e94ed14 files: