mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 02:41:25 +00:00
Check if the current builder supports multi-arch.
This commit is contained in:
parent
7edd17307c
commit
87f5ee31bd
@ -218,12 +218,6 @@ function kube::release::package_node_tarballs() {
|
|||||||
function kube::release::build_server_images() {
|
function kube::release::build_server_images() {
|
||||||
# Clean out any old images
|
# Clean out any old images
|
||||||
rm -rf "${RELEASE_IMAGES}"
|
rm -rf "${RELEASE_IMAGES}"
|
||||||
|
|
||||||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
|
||||||
docker run --rm --privileged multiarch/qemu-user-static:5.2.0-2 --reset -p yes
|
|
||||||
docker buildx rm kube-server-image-builder || true
|
|
||||||
docker buildx create --use --name=kube-server-image-builder
|
|
||||||
|
|
||||||
local platform
|
local platform
|
||||||
for platform in "${KUBE_SERVER_PLATFORMS[@]}"; do
|
for platform in "${KUBE_SERVER_PLATFORMS[@]}"; do
|
||||||
local platform_tag
|
local platform_tag
|
||||||
@ -245,8 +239,6 @@ function kube::release::build_server_images() {
|
|||||||
|
|
||||||
kube::release::create_docker_images_for_server "${release_stage}/server/bin" "${arch}"
|
kube::release::create_docker_images_for_server "${release_stage}/server/bin" "${arch}"
|
||||||
done
|
done
|
||||||
|
|
||||||
docker buildx rm kube-server-image-builder
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Package up all of the server binaries
|
# Package up all of the server binaries
|
||||||
@ -415,7 +407,7 @@ function kube::release::create_docker_images_for_server() {
|
|||||||
|
|
||||||
kube::log::status "Deleting docker image ${docker_image_tag}"
|
kube::log::status "Deleting docker image ${docker_image_tag}"
|
||||||
"${DOCKER[@]}" rmi "${docker_image_tag}" &>/dev/null || true
|
"${DOCKER[@]}" rmi "${docker_image_tag}" &>/dev/null || true
|
||||||
)
|
) &
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ "${KUBE_BUILD_CONFORMANCE}" =~ [yY] ]]; then
|
if [[ "${KUBE_BUILD_CONFORMANCE}" =~ [yY] ]]; then
|
||||||
|
@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
# This file create the kube-apiserver image.
|
# This file create the kube-apiserver image.
|
||||||
ARG BASEIMAGE
|
ARG BASEIMAGE
|
||||||
|
# we use the hosts platform to apply the capabilities to avoid the need
|
||||||
FROM k8s.gcr.io/build-image/setcap:buster-v1.4.0
|
# to setup qemu for the builder.
|
||||||
|
FROM --platform=linux/$BUILDARCH k8s.gcr.io/build-image/setcap:buster-v1.4.0
|
||||||
ARG BINARY
|
ARG BINARY
|
||||||
COPY ${BINARY} /${BINARY}
|
COPY ${BINARY} /${BINARY}
|
||||||
# We apply cap_net_bind_service so that kube-apiserver can be run as
|
# We apply cap_net_bind_service so that kube-apiserver can be run as
|
||||||
# non-root and still listen on port less than 1024
|
# non-root and still listen on port less than 1024
|
||||||
RUN setcap cap_net_bind_service=+ep /${BINARY}
|
RUN setcap cap_net_bind_service=+ep /${BINARY}
|
||||||
|
|
||||||
FROM ${BASEIMAGE}
|
FROM --platform=linux/$TARGETARCH ${BASEIMAGE}
|
||||||
ARG BINARY
|
ARG BINARY
|
||||||
COPY --from=0 /${BINARY} /usr/local/bin/${BINARY}
|
COPY --from=0 /${BINARY} /usr/local/bin/${BINARY}
|
||||||
|
Loading…
Reference in New Issue
Block a user