Skip to content

Commit 4a00cfd

Browse files
jgu17James Gu
authored andcommitted
Add ARG for base image customization and upgrade go version from 1.20 to 1.21
1 parent 2a7767e commit 4a00cfd

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ RELEASE_REGISTRY?=gcr.io/k8s-staging-scheduler-plugins
2424
RELEASE_VERSION?=v$(shell date +%Y%m%d)-$(shell git describe --tags --match "v*")
2525
RELEASE_IMAGE:=kube-scheduler:$(RELEASE_VERSION)
2626
RELEASE_CONTROLLER_IMAGE:=controller:$(RELEASE_VERSION)
27+
GO_BASE_IMAGE?=golang
2728

2829
# VERSION is the scheduler's version
2930
#
@@ -80,6 +81,8 @@ release-image.amd64: clean
8081
REGISTRY=$(RELEASE_REGISTRY) \
8182
IMAGE=$(RELEASE_IMAGE)-amd64 \
8283
CONTROLLER_IMAGE=$(RELEASE_CONTROLLER_IMAGE)-amd64 \
84+
GO_BASE_IMAGE=$(GO_BASE_IMAGE) \
85+
ALPINE_BASE_IMAGE=$(ALPINE_BASE_IMAGE) \
8386
hack/build-images.sh
8487

8588
.PHONY: release-image.arm64v8
@@ -89,6 +92,8 @@ release-image.arm64v8: clean
8992
REGISTRY=$(RELEASE_REGISTRY) \
9093
IMAGE=$(RELEASE_IMAGE)-arm64 \
9194
CONTROLLER_IMAGE=$(RELEASE_CONTROLLER_IMAGE)-arm64 \
95+
GO_BASE_IMAGE=$(GO_BASE_IMAGE) \
96+
ALPINE_BASE_IMAGE=$(ALPINE_BASE_IMAGE) \
9297
hack/build-images.sh
9398

9499
.PHONY: push-release-images

build/controller/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
ARG ARCH
15-
FROM golang:1.20
15+
ARG GO_BASE_IMAGE=golang
16+
ARG ALPINE_BASE_IMAGE=$ARCH/alpine
17+
FROM $GO_BASE_IMAGE:1.21
1618

1719
WORKDIR /go/src/sigs.k8s.io/scheduler-plugins
1820
COPY . .
1921
ARG ARCH
2022
RUN make build-controller.$ARCH
2123

22-
FROM $ARCH/alpine:3.16
24+
FROM $ALPINE_BASE_IMAGE:3.16
2325

2426
COPY --from=0 /go/src/sigs.k8s.io/scheduler-plugins/bin/controller /bin/controller
2527

build/scheduler/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
ARG ARCH
15-
FROM golang:1.20
15+
ARG GO_BASE_IMAGE=golang
16+
ARG ALPINE_BASE_IMAGE=$ARCH/alpine
17+
FROM $GO_BASE_IMAGE:1.21
1618

1719
WORKDIR /go/src/sigs.k8s.io/scheduler-plugins
1820
COPY . .
1921
ARG ARCH
2022
ARG RELEASE_VERSION
2123
RUN RELEASE_VERSION=${RELEASE_VERSION} make build-scheduler.$ARCH
2224

23-
FROM $ARCH/alpine:3.16
25+
FROM $ALPINE_BASE_IMAGE:3.16
2426

2527
COPY --from=0 /go/src/sigs.k8s.io/scheduler-plugins/bin/kube-scheduler /bin/kube-scheduler
2628

hack/build-images.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ CONTROLLER_DIR="${SCRIPT_ROOT}"/build/controller
2626
REGISTRY=${REGISTRY:-"localhost:5000/scheduler-plugins"}
2727
IMAGE=${IMAGE:-"kube-scheduler:latest"}
2828
CONTROLLER_IMAGE=${CONTROLLER_IMAGE:-"controller:latest"}
29-
3029
RELEASE_VERSION=${RELEASE_VERSION:-"v0.0.0"}
3130

3231
BUILDER=${BUILDER:-"docker"}
@@ -40,15 +39,22 @@ if [[ "${ARCH}" == "arm64" ]]; then
4039
ARCH="arm64v8"
4140
fi
4241

42+
GO_BASE_IMAGE=${GO_BASE_IMAGE:-"golang"}
43+
ALPINE_BASE_IMAGE=${ALPINE_BASE_IMAGE:-"$ARCH/alpine"}
44+
4345
cd "${SCRIPT_ROOT}"
4446

4547
${BUILDER} build \
4648
-f ${SCHEDULER_DIR}/Dockerfile \
4749
--build-arg ARCH=${ARCH} \
4850
--build-arg RELEASE_VERSION=${RELEASE_VERSION} \
51+
--build-arg GO_BASE_IMAGE=${GO_BASE_IMAGE} \
52+
--build-arg ALPINE_BASE_IMAGE=${ALPINE_BASE_IMAGE} \
4953
-t ${REGISTRY}/${IMAGE} .
5054
${BUILDER} build \
5155
-f ${CONTROLLER_DIR}/Dockerfile \
5256
--build-arg ARCH=${ARCH} \
5357
--build-arg RELEASE_VERSION=${RELEASE_VERSION} \
58+
--build-arg GO_BASE_IMAGE=${GO_BASE_IMAGE} \
59+
--build-arg ALPINE_BASE_IMAGE=${ALPINE_BASE_IMAGE} \
5460
-t ${REGISTRY}/${CONTROLLER_IMAGE} .

0 commit comments

Comments
 (0)