enable or diable image prefetching

This commit is contained in:
Aric Renzo 2017-05-25 15:11:11 -04:00
parent 74d6c48653
commit f3b0aa0124
5 changed files with 29 additions and 6 deletions

2
.gitignore vendored
View File

@ -6,3 +6,5 @@
/helm /helm
/kubelet /kubelet
/linux-amd64 /linux-amd64
/genesis_image_cache/
/join_image_cache/

View File

@ -29,7 +29,7 @@ WORKDIR /promenade
ENTRYPOINT /promenade/scripts/entrypoint.sh ENTRYPOINT /promenade/scripts/entrypoint.sh
COPY genesis-images.tar cni.tgz helm kubelet /promenade/ COPY genesis_image_cache/* cni.tgz helm kubelet /promenade/
COPY kubelet.service.template /promenade/ COPY kubelet.service.template /promenade/
COPY env.sh scripts/common/* /promenade/scripts/ COPY env.sh scripts/common/* /promenade/scripts/

View File

@ -29,7 +29,7 @@ WORKDIR /promenade
ENTRYPOINT /promenade/scripts/entrypoint.sh ENTRYPOINT /promenade/scripts/entrypoint.sh
COPY join-images.tar cni.tgz kubelet /promenade/ COPY join_image_cache/* cni.tgz kubelet /promenade/
COPY kubelet.service.template /promenade/ COPY kubelet.service.template /promenade/
COPY env.sh scripts/common/* /promenade/scripts/ COPY env.sh scripts/common/* /promenade/scripts/

View File

@ -25,6 +25,9 @@ GENESIS_REPO := promenade-genesis
JOIN_REPO := promenade-join JOIN_REPO := promenade-join
TAG := dev TAG := dev
#PreFetch Images for Offline deployment
PREFETCH_IMAGES := true
GENESIS_IMAGES := \ GENESIS_IMAGES := \
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 \ gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 \
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 \ gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 \
@ -72,8 +75,14 @@ save: save-genesis save-join
genesis: build-genesis genesis: build-genesis
ifeq ($(PREFETCH_IMAGES), true)
build-genesis: Dockerfile.genesis cni.tgz env.sh helm genesis-images.tar kubelet kubelet.service.template build-genesis: Dockerfile.genesis cni.tgz env.sh helm genesis-images.tar kubelet kubelet.service.template
sudo docker build -f Dockerfile.genesis -t $(NAMESPACE)/$(GENESIS_REPO):$(TAG) . sudo docker build -f Dockerfile.genesis -t $(NAMESPACE)/$(GENESIS_REPO):$(TAG) .
else
build-genesis: Dockerfile.genesis cni.tgz env.sh helm kubelet kubelet.service.template
sudo docker build -f Dockerfile.genesis -t $(NAMESPACE)/$(GENESIS_REPO):$(TAG) .
endif
push-genesis: build-genesis push-genesis: build-genesis
sudo docker push $(NAMESPACE)/$(GENESIS_REPO):$(TAG) sudo docker push $(NAMESPACE)/$(GENESIS_REPO):$(TAG)
@ -84,9 +93,13 @@ save-genesis: build-genesis
join: build-join join: build-join
ifeq ($(PREFETCH_IMAGES), true)
build-join: Dockerfile.join join-images.tar kubelet.service.template build-join: Dockerfile.join join-images.tar kubelet.service.template
sudo docker build -f Dockerfile.join -t $(NAMESPACE)/$(JOIN_REPO):$(TAG) . sudo docker build -f Dockerfile.join -t $(NAMESPACE)/$(JOIN_REPO):$(TAG) .
else
build-join: Dockerfile.join kubelet.service.template
sudo docker build -f Dockerfile.join -t $(NAMESPACE)/$(JOIN_REPO):$(TAG) .
endif
push-join: build-join push-join: build-join
sudo docker push $(NAMESPACE)/$(JOIN_REPO):$(TAG) sudo docker push $(NAMESPACE)/$(JOIN_REPO):$(TAG)
@ -115,13 +128,15 @@ genesis-images.tar:
for IMAGE in $(GENESIS_IMAGES); do \ for IMAGE in $(GENESIS_IMAGES); do \
sudo docker pull $$IMAGE; \ sudo docker pull $$IMAGE; \
done done
sudo docker save -o genesis-images.tar $(GENESIS_IMAGES) mkdir genesis_image_cache
sudo docker save -o genesis_image_cache/genesis-images.tar $(GENESIS_IMAGES)
join-images.tar: join-images.tar:
for IMAGE in $(JOIN_IMAGES); do \ for IMAGE in $(JOIN_IMAGES); do \
sudo docker pull $$IMAGE; \ sudo docker pull $$IMAGE; \
done done
sudo docker save -o join-images.tar $(JOIN_IMAGES) mkdir join_image_cache
sudo docker save -o join_image_cache/join-images.tar $(JOIN_IMAGES)
kubelet: kubelet:
curl -LO http://storage.googleapis.com/kubernetes-release/release/$(KUBERNETES_VERSION)/bin/linux/amd64/kubelet curl -LO http://storage.googleapis.com/kubernetes-release/release/$(KUBERNETES_VERSION)/bin/linux/amd64/kubelet
@ -136,6 +151,8 @@ clean:
helm.tgz \ helm.tgz \
kubelet \ kubelet \
linux-amd64 \ linux-amd64 \
genesis_image_cache \
join_image_cache \
.PHONY : build build-genesis build-join clean genesis join push push-genesis push-join .PHONY : build build-genesis build-join clean genesis join push push-genesis push-join

View File

@ -22,7 +22,11 @@ source ./scripts/func.sh
validate_environment validate_environment
# XXX validate_genesis_assets # XXX validate_genesis_assets
docker load -i ./genesis-images.tar if [ -f "genesis_image_cache/genesis-images.tar" ]; then
docker load -i ./genesis-images.tar
else
echo "Image Cache Not Found.. Skipping."
fi
install_assets install_assets
install_cni install_cni