Add linux/arm to the list of server builds

This commit is contained in:
Brendan Burns 2015-11-22 19:53:45 -08:00
parent 46924670d9
commit d2dbe56820
7 changed files with 35 additions and 14 deletions

View File

@ -1,10 +1,14 @@
.PHONY: build push
IMAGE = pause
TAG = 2.0
ARCH = amd64
IMAGE = pause
# ARCH = arm
# IMAGE = pause-arm
build:
./prepare.sh
./prepare.sh ${ARCH}
docker build -t gcr.io/google_containers/$(IMAGE):$(TAG) .
push: build

View File

@ -17,8 +17,10 @@
set -e
set -x
ARCH=$1
# Build the binary.
go build --ldflags '-extldflags "-static" -s' pause.go
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} godep go build -a -installsuffix cgo -ldflags '-w' ./pause.go
# Run goupx to shrink binary size.
go get github.com/pwaller/goupx

View File

@ -1,4 +1,4 @@
FROM debian:jessie
FROM BASEIMAGE
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y \
&& DEBIAN_FRONTEND=noninteractive apt-get -yy -q \

View File

@ -1,13 +1,27 @@
# build the hyperkube image.
VERSION=v1.1.1
VERSION=v1.1.2
ARCH=amd64
BASEIMAGE=debian:jessie
## Comment in for arm builds, must be run on an arm machine
# ARCH=arm
# need to escape '/' for the regexp below
# BASEIMAGE=armbuild\\/debian:jessie
all:
cp ../../saltbase/salt/helpers/safe_format_and_mount .
cp ../../saltbase/salt/generate-cert/make-ca-cert.sh .
curl -O https://storage.googleapis.com/kubernetes-release/release/${VERSION}/bin/linux/amd64/hyperkube
curl -O https://storage.googleapis.com/kubernetes-release/release/${VERSION}/bin/linux/${ARCH}/hyperkube
sed -i "s/VERSION/${VERSION}/g" master-multi.json master.json
docker build -t gcr.io/google_containers/hyperkube:${VERSION} .
gcloud docker push gcr.io/google_containers/hyperkube:${VERSION}
sed -i "s/ARCH/${ARCH}/g" master-multi.json master.json
sed -i "s/BASEIMAGE/${BASEIMAGE}/g" Dockerfile
docker build -t gcr.io/google_containers/hyperkube-${ARCH}:${VERSION} .
gcloud docker push gcr.io/google_containers/hyperkube-${ARCH}:${VERSION}
# Backward compatability. TODO: deprecate this image tag
ifeq ($(ARCH),amd64)
docker tag gcr.io/google_containers/hyperkube-${ARCH}:${VERSION} gcr.io/google_containers/hyperkube:${VERSION}
gcloud docker push gcr.io/google_containers/hyperkube:${VERSION}
endif
.PHONY: all

View File

@ -7,7 +7,7 @@
"containers":[
{
"name": "controller-manager",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"controller-manager",
@ -19,7 +19,7 @@
},
{
"name": "apiserver",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"apiserver",
@ -33,7 +33,7 @@
},
{
"name": "scheduler",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"scheduler",

View File

@ -7,7 +7,7 @@
"containers":[
{
"name": "controller-manager",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"controller-manager",
@ -26,7 +26,7 @@
},
{
"name": "apiserver",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"apiserver",
@ -53,7 +53,7 @@
},
{
"name": "scheduler",
"image": "gcr.io/google_containers/hyperkube:VERSION",
"image": "gcr.io/google_containers/hyperkube-ARCH:VERSION",
"command": [
"/hyperkube",
"scheduler",

View File

@ -50,6 +50,7 @@ readonly KUBE_SERVER_BINARIES=("${KUBE_SERVER_TARGETS[@]##*/}")
# The server platform we are building on.
readonly KUBE_SERVER_PLATFORMS=(
linux/amd64
linux/arm
)
# The set of client targets that we are building for all platforms