crictl can import images but slow
This commit is contained in:
44
makefile
44
makefile
@@ -6,10 +6,16 @@ TAG ?= dev
|
||||
PACKAGES_DIR := packages
|
||||
OUT_DIR := out
|
||||
|
||||
BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz
|
||||
ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz
|
||||
NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz
|
||||
CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz
|
||||
BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz
|
||||
ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz
|
||||
NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz
|
||||
CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz
|
||||
REGISTRY_TAR := $(PACKAGES_DIR)/registry-$(REGISTRY_VERSION).tar.gz
|
||||
|
||||
# Kubernetes components
|
||||
KUBELET_BIN := $(PACKAGES_DIR)/kubernetes/kubelet
|
||||
KUBEADM_BIN := $(PACKAGES_DIR)/kubernetes/kubeadm
|
||||
KUBECTL_BIN := $(PACKAGES_DIR)/kubernetes/kubectl
|
||||
|
||||
BOARD_ITB := $(OUT_DIR)/board.itb
|
||||
INITRAMFS := $(OUT_DIR)/initramfs.cpio.gz
|
||||
@@ -62,6 +68,10 @@ RELEASE_DEPS := \
|
||||
$(BOARD_ITB) \
|
||||
$(ALPINE_TAR) \
|
||||
$(CRIO_TAR) \
|
||||
$(KUBELET_BIN) \
|
||||
$(KUBEADM_BIN) \
|
||||
$(KUBECTL_BIN) \
|
||||
$(REGISTRY_TAR) \
|
||||
docker/alpine.Dockerfile \
|
||||
$(ALPINE_SRCS) \
|
||||
build.env \
|
||||
@@ -71,11 +81,23 @@ RELEASE_DEPS := \
|
||||
|
||||
$(PACKAGES_DIR):
|
||||
mkdir -p $@
|
||||
mkdir -p $@/kubernetes
|
||||
|
||||
$(OUT_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
# ---- Package downloads -------------------------------------------------------
|
||||
$(KUBELET_BIN): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubelet"
|
||||
|
||||
$(KUBEADM_BIN): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubeadm"
|
||||
|
||||
$(KUBECTL_BIN): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubectl"
|
||||
|
||||
$(KUBEADM_BIN): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubeadm"
|
||||
|
||||
$(BUSYBOX_TAR): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://github.com/mirror/busybox/archive/refs/tags/$(BUSYBOX_VERSION).tar.gz"
|
||||
@@ -83,6 +105,9 @@ $(BUSYBOX_TAR): | $(PACKAGES_DIR)
|
||||
$(ALPINE_TAR): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://dl-cdn.alpinelinux.org/alpine/v$(ALPINE_SERIES)/releases/$(ALPINE_ARCH)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz"
|
||||
|
||||
$(REGISTRY_TAR): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://github.com/distribution/distribution/releases/download/v$(REGISTRY_VERSION)/registry_$(REGISTRY_VERSION)_linux_$(ARCH).tar.gz"
|
||||
|
||||
$(NXP_TAR): | $(PACKAGES_DIR)
|
||||
curl -L -o $@ "https://github.com/nxp-qoriq/linux/archive/refs/tags/$(NXP_VERSION).tar.gz"
|
||||
|
||||
@@ -139,16 +164,22 @@ $(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR)
|
||||
--build-arg ALPINE_ARCH=$(ALPINE_ARCH) \
|
||||
--build-arg ALPINE_VER=$(ALPINE_VER) \
|
||||
--build-arg CRIO_VERSION=$(CRIO_VERSION) \
|
||||
--build-arg REGISTRY_VERSION=$(REGISTRY_VERSION) \
|
||||
--build-arg DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \
|
||||
-t $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) .
|
||||
|
||||
@cid=$$(docker create \
|
||||
--privileged \
|
||||
-v /cache/k8s-images:/var/cache/k8s-images \
|
||||
-v /cache/apk:/var/cache/apk \
|
||||
--device=/dev/loop0:/dev/loop0 \
|
||||
-e ROOTFS=/out/rootfs \
|
||||
-e RELEASE_IMAGE=$(RELEASE_IMAGE) \
|
||||
-e DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \
|
||||
-e KUBE_IMG_CACHE=/var/cache/k8s-images \
|
||||
-e KUBE_VERSION=$(KUBE_VERSION) \
|
||||
-e ALPINE_HOSTNAME=$(ALPINE_HOSTNAME) \
|
||||
-e ARCH=$(ARCH) \
|
||||
$(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) \
|
||||
bash -lc '/build-rootfs.sh'); \
|
||||
docker start -a $$cid; \
|
||||
@@ -175,6 +206,9 @@ clean:
|
||||
$(RELEASE_IMAGE)
|
||||
|
||||
distclean: clean
|
||||
rm -rf $(OUT_DIR) $(PACKAGES_DIR)
|
||||
rm -rf $(OUT_DIR)
|
||||
|
||||
pkgclean:
|
||||
rm -rf $(PACKAGES_DIR)
|
||||
|
||||
.PHONY: release kernel initramfs itb build-base clean distclean
|
||||
|
||||
Reference in New Issue
Block a user