diff --git a/build/debian-hyperkube-base/Dockerfile b/build/debian-hyperkube-base/Dockerfile index f4b5ecbec79..bdb982c3cfb 100644 --- a/build/debian-hyperkube-base/Dockerfile +++ b/build/debian-hyperkube-base/Dockerfile @@ -14,6 +14,22 @@ FROM BASEIMAGE +# TODO(#69896): deprecate the shortened aliases in / +RUN ln -s /hyperkube /apiserver \ + && ln -s /hyperkube /cloud-controller-manager \ + && ln -s /hyperkube /controller-manager \ + && ln -s /hyperkube /kubectl \ + && ln -s /hyperkube /kubelet \ + && ln -s /hyperkube /proxy \ + && ln -s /hyperkube /scheduler \ + && ln -s /hyperkube /usr/local/bin/cloud-controller-manager \ + && ln -s /hyperkube /usr/local/bin/kube-apiserver \ + && ln -s /hyperkube /usr/local/bin/kube-controller-manager \ + && ln -s /hyperkube /usr/local/bin/kube-proxy \ + && ln -s /hyperkube /usr/local/bin/kube-scheduler \ + && ln -s /hyperkube /usr/local/bin/kubectl \ + && ln -s /hyperkube /usr/local/bin/kubelet + RUN echo CACHEBUST>/dev/null && clean-install \ bash diff --git a/build/debian-hyperkube-base/Makefile b/build/debian-hyperkube-base/Makefile index 4a67da27a09..d9c0d87a00a 100644 --- a/build/debian-hyperkube-base/Makefile +++ b/build/debian-hyperkube-base/Makefile @@ -19,7 +19,7 @@ REGISTRY?=staging-k8s.gcr.io IMAGE?=$(REGISTRY)/debian-hyperkube-base -TAG=0.10.2 +TAG=0.11.0 ARCH?=amd64 ALL_ARCH = amd64 arm arm64 ppc64le s390x CACHEBUST?=1 diff --git a/build/lib/release.sh b/build/lib/release.sh index 52060b1de34..98f6767d958 100644 --- a/build/lib/release.sh +++ b/build/lib/release.sh @@ -29,7 +29,7 @@ readonly RELEASE_TARS="${LOCAL_OUTPUT_ROOT}/release-tars" readonly RELEASE_IMAGES="${LOCAL_OUTPUT_ROOT}/release-images" KUBE_BUILD_HYPERKUBE=${KUBE_BUILD_HYPERKUBE:-y} -KUBE_BUILD_CONFORMANCE=${KUBE_BUILD_CONFORMANCE:-n} +KUBE_BUILD_CONFORMANCE=${KUBE_BUILD_CONFORMANCE:-y} # Validate a ci version # diff --git a/build/root/WORKSPACE b/build/root/WORKSPACE index 1f09728e550..43357c33a01 100644 --- a/build/root/WORKSPACE +++ b/build/root/WORKSPACE @@ -75,10 +75,10 @@ docker_pull( docker_pull( name = "debian-hyperkube-base-amd64", - digest = "sha256:c50522965140c9f206900bf47d547d601c04943e1e59801ba5f70235773cfbb6", + digest = "sha256:b180af61c8c40a3e011630be135c091e7af6b6c784bedce839d31b9fad63c435", registry = "k8s.gcr.io", repository = "debian-hyperkube-base-amd64", - tag = "0.10.2", # ignored, but kept here for documentation + tag = "0.11.0", # ignored, but kept here for documentation ) docker_pull( diff --git a/cluster/images/conformance/Makefile b/cluster/images/conformance/Makefile index d79ce698a07..d5f7582e81a 100644 --- a/cluster/images/conformance/Makefile +++ b/cluster/images/conformance/Makefile @@ -25,7 +25,7 @@ KUBECTL_BIN?=$(shell pwd)/../../../$(OUT_DIR)/dockerized/bin/linux/$(ARCH)/kubec E2E_TEST_BIN?=$(shell pwd)/../../../$(OUT_DIR)/dockerized/bin/linux/$(ARCH)/e2e.test CLUSTER_DIR?=$(shell pwd)/../../../cluster/ -BASEIMAGE=k8s.gcr.io/debian-hyperkube-base-$(ARCH):0.10.2 +BASEIMAGE=k8s.gcr.io/debian-hyperkube-base-$(ARCH):0.11.0 TEMP_DIR:=$(shell mktemp -d -t conformanceXXXXXX) all: build @@ -48,10 +48,6 @@ endif cd ${TEMP_DIR} && sed -i.back "s|BASEIMAGE|${BASEIMAGE}|g" Dockerfile -ifneq ($(ARCH),amd64) - # Register /usr/bin/qemu-ARCH-static as the handler for non-x86 binaries in the kernel - docker run --rm --privileged multiarch/qemu-user-static:register --reset -endif docker build --pull -t ${REGISTRY}/conformance-${ARCH}:${VERSION} ${TEMP_DIR} rm -rf "${TEMP_DIR}" diff --git a/cluster/images/hyperkube/BUILD b/cluster/images/hyperkube/BUILD index a3891749015..48270a5f7b6 100644 --- a/cluster/images/hyperkube/BUILD +++ b/cluster/images/hyperkube/BUILD @@ -7,23 +7,6 @@ container_image( "//cmd/hyperkube", ], stamp = True, - symlinks = { - "/%s" % path: "/hyperkube" - for path in [ - "/apiserver", - "/controller-manager", - "/kubectl", - "/kubelet", - "/proxy", - "/scheduler", - "/usr/local/bin/kube-apiserver", - "/usr/local/bin/kube-controller-manager", - "/usr/local/bin/kubectl", - "/usr/local/bin/kubelet", - "/usr/local/bin/kube-proxy", - "/usr/local/bin/kube-scheduler", - ] - }, ) container_bundle( diff --git a/cluster/images/hyperkube/Dockerfile b/cluster/images/hyperkube/Dockerfile index 92d5e2cdb95..61fa949e364 100644 --- a/cluster/images/hyperkube/Dockerfile +++ b/cluster/images/hyperkube/Dockerfile @@ -14,25 +14,5 @@ FROM BASEIMAGE -# Create symlinks for each hyperkube server -# Also create symlinks to /usr/local/bin/ where the server image binaries live, so the hyperkube image may be -# used instead of k8s.gcr.io/kube-* without any modifications. -# TODO: replace manual symlink creation with --make-symlink command once -# cross-building with qemu supports go binaries. See #28702 -# RUN /hyperkube --make-symlinks -RUN ln -s /hyperkube /apiserver \ - && ln -s /hyperkube /controller-manager \ - && ln -s /hyperkube /kubectl \ - && ln -s /hyperkube /kubelet \ - && ln -s /hyperkube /proxy \ - && ln -s /hyperkube /scheduler \ - && ln -s /hyperkube /aggregator \ - && ln -s /hyperkube /usr/local/bin/kube-apiserver \ - && ln -s /hyperkube /usr/local/bin/kube-controller-manager \ - && ln -s /hyperkube /usr/local/bin/kubectl \ - && ln -s /hyperkube /usr/local/bin/kubelet \ - && ln -s /hyperkube /usr/local/bin/kube-proxy \ - && ln -s /hyperkube /usr/local/bin/kube-scheduler - # Copy the hyperkube binary COPY hyperkube /hyperkube diff --git a/cluster/images/hyperkube/Makefile b/cluster/images/hyperkube/Makefile index ea8a1b9e994..16af35b9c15 100644 --- a/cluster/images/hyperkube/Makefile +++ b/cluster/images/hyperkube/Makefile @@ -22,7 +22,7 @@ ARCH?=amd64 OUT_DIR?=_output HYPERKUBE_BIN?=$(shell pwd)/../../../$(OUT_DIR)/dockerized/bin/linux/$(ARCH)/hyperkube -BASEIMAGE=k8s.gcr.io/debian-hyperkube-base-$(ARCH):0.10.2 +BASEIMAGE=k8s.gcr.io/debian-hyperkube-base-$(ARCH):0.11.0 TEMP_DIR:=$(shell mktemp -d -t hyperkubeXXXXXX) all: build @@ -39,10 +39,6 @@ endif cd ${TEMP_DIR} && sed -i.back "s|BASEIMAGE|${BASEIMAGE}|g" Dockerfile -ifneq ($(ARCH),amd64) - # Register /usr/bin/qemu-ARCH-static as the handler for non-x86 binaries in the kernel - docker run --rm --privileged multiarch/qemu-user-static:register --reset -endif docker build --pull -t ${REGISTRY}/hyperkube-${ARCH}:${VERSION} ${TEMP_DIR} rm -rf "${TEMP_DIR}"