Remove preloaded base image and add makefile rule to upload prelaoded tar to gcs
parent
0e88697f16
commit
97ea1b0b85
9
Makefile
9
Makefile
|
@ -19,7 +19,7 @@ VERSION_BUILD ?= 3
|
|||
RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).${VERSION_BUILD}
|
||||
VERSION ?= v$(RAW_VERSION)
|
||||
|
||||
KUBERNETES_VERSION ?= $(shell egrep "^var DefaultKubernetesVersion" pkg/minikube/constants/constants.go | cut -d \" -f2)
|
||||
KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/constants/constants.go | cut -d \" -f2)
|
||||
|
||||
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
|
||||
ISO_VERSION ?= v$(VERSION_MAJOR).$(VERSION_MINOR).3
|
||||
|
@ -512,10 +512,9 @@ kic-base-image: ## builds the base image used for kic.
|
|||
docker build -f ./hack/images/kicbase.Dockerfile -t $(REGISTRY)/kicbase:v$(KIC_VERSION)-snapshot --build-arg COMMIT_SHA=${VERSION}-$(COMMIT) --target base .
|
||||
|
||||
|
||||
.PHONY: kic-preloaded-base-image
|
||||
kic-preloaded-base-image: generate-preloaded-images-tar ## builds the base image used for kic.
|
||||
docker rmi -f $(REGISTRY)/kicbase:v$(KIC_VERSION)-k8s-${KUBERNETES_VERSION} || true
|
||||
docker build -f ./hack/images/kicbase.Dockerfile -t $(REGISTRY)/kicbase:v$(KIC_VERSION)-k8s-${KUBERNETES_VERSION} --build-arg COMMIT_SHA=${VERSION}-$(COMMIT) --build-arg KUBERNETES_VERSION=${KUBERNETES_VERSION} .
|
||||
.PHONY: upload-preloaded-images-tar
|
||||
upload-preloaded-images-tar: generate-preloaded-images-tar # Upload the preloaded images tar to the GCS bucket. Specify a specific kubernetes version to build via `KUBERNETES_VERSION=vx.y.z make upload-preloaded-images-tar`.
|
||||
gsutil cp out/preloaded-images-k8s-${KUBERNETES_VERSION}.tar gs://minikube-docker-volume-tarballs
|
||||
|
||||
.PHONY: generate-preloaded-images-tar
|
||||
generate-preloaded-images-tar: out/minikube
|
||||
|
|
|
@ -43,13 +43,3 @@ RUN rm -rf \
|
|||
/usr/share/man/* \
|
||||
/usr/share/local/* \
|
||||
RUN echo "kic! Build: ${COMMIT_SHA} Time :$(date)" > "/kic.txt"
|
||||
|
||||
|
||||
FROM busybox
|
||||
ARG KUBERNETES_VERSION
|
||||
COPY out/preloaded-images-k8s-$KUBERNETES_VERSION.tar /preloaded-images.tar
|
||||
RUN tar xvf /preloaded-images.tar -C /
|
||||
|
||||
FROM base
|
||||
COPY --from=1 /var/lib/docker /var/lib/docker
|
||||
COPY --from=1 /var/lib/minikube/binaries /var/lib/minikube/binaries
|
||||
|
|
|
@ -22,7 +22,6 @@ import (
|
|||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
@ -66,32 +65,28 @@ func executePreloadImages() error {
|
|||
}
|
||||
|
||||
func startMinikube() error {
|
||||
cmd := exec.Command(minikubePath, "start", "-p", profile, "--memory", "4000", "--kubernetes-version", kubernetesVersion, "--wait=false")
|
||||
cmd := exec.Command(minikubePath, "start", "-p", profile, "--memory", "4000", "--kubernetes-version", kubernetesVersion, "--wait=false", "--vm-driver=docker")
|
||||
cmd.Stdout = os.Stdout
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
func createImageTarball() error {
|
||||
cmd := exec.Command(minikubePath, "ssh", "-p", profile, "--", "sudo", "tar", "cvf", tarballFilename, "/var/lib/docker", "/var/lib/minikube/binaries")
|
||||
cmd := exec.Command(minikubePath, "ssh", "-p", profile, "--", "cd", "/var", "&&", "sudo", "tar", "cvf", tarballFilename, "./lib/docker", "./lib/minikube/binaries")
|
||||
cmd.Stdout = os.Stdout
|
||||
return cmd.Run()
|
||||
if err := cmd.Run(); err != nil {
|
||||
return errors.Wrap(err, "creating image tarball")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func copyTarballToHost() error {
|
||||
sshKey, err := runCmd([]string{minikubePath, "ssh-key", "-p", profile})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "getting ssh-key")
|
||||
}
|
||||
|
||||
ip, err := runCmd([]string{minikubePath, "ip", "-p", profile})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "getting ip")
|
||||
}
|
||||
|
||||
dest := filepath.Join("out/", tarballFilename)
|
||||
args := []string{"scp", "-o", "StrictHostKeyChecking=no", "-i", sshKey, fmt.Sprintf("docker@%s:/home/docker/%s", ip, tarballFilename), dest}
|
||||
_, err = runCmd(args)
|
||||
return err
|
||||
cmd := exec.Command("docker", "cp", fmt.Sprintf("%s:/var/%s", profile, tarballFilename), dest)
|
||||
cmd.Stdout = os.Stdout
|
||||
if err := cmd.Run(); err != nil {
|
||||
return errors.Wrap(err, "copying tarball to host")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func deleteMinikube() error {
|
||||
|
@ -99,9 +94,3 @@ func deleteMinikube() error {
|
|||
cmd.Stdout = os.Stdout
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
func runCmd(command []string) (string, error) {
|
||||
cmd := exec.Command(command[0], command[1:]...)
|
||||
output, err := cmd.Output()
|
||||
return strings.Trim(string(output), "\n "), err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue