Files
linuxkit/projects/kubernetes/Makefile
Ian Campbell ed0e79aa9d kubernetes: Refactor network provider selection
KUBE_NETWORK now specifies a yml which is passed to the Moby tool, which can
introduce files into /etc/kubeadm/kube-system.init/ or do other things as it
likes.

In the case of weave this just adds the weave yaml to that directory. To avoid
too much confusion between weave.yml (Moby tool input) and `weave.yaml` (the
kubernetes `ServiceAccount`, `DeamonsSet` etc object specs) name the latter
`kube-weave.yaml`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00

43 lines
1.0 KiB
Makefile

KUBE_RUNTIME ?= docker
KUBE_NETWORK ?= weave
KUBE_NETWORK_WEAVE ?= v2.0.5
ifeq ($(shell uname -s),"Darwin")
KUBE_FORMATS ?= iso-efi
endif
KUBE_FORMATS ?= iso-bios
KUBE_FORMAT_ARGS := $(patsubst %,-format %,$(KUBE_FORMATS))
all: build-container-images build-vm-images
build-container-images:
linuxkit pkg build kubernetes
build-cache-images:
$(MAKE) -C image-cache build
push-container-images:
linuxkit pkg push kubernetes
$(MAKE) -C image-cache push
build-vm-images: kube-master.iso kube-node.iso
kube-master.iso: kube.yml $(KUBE_RUNTIME).yml $(KUBE_RUNTIME)-master.yml $(KUBE_NETWORK).yml
moby build -name kube-master $(KUBE_FORMAT_ARGS) $^
kube-node.iso: kube.yml $(KUBE_RUNTIME).yml $(KUBE_NETWORK).yml
moby build -name kube-node $(KUBE_FORMAT_ARGS) $^
weave.yml: kube-weave.yaml
kube-weave.yaml:
curl -L -o $@ https://cloud.weave.works/k8s/v1.8/net?v=$(KUBE_NETWORK_WEAVE)
clean:
rm -f -r \
kube-*-kernel kube-*-cmdline kube-*-state kube-*-initrd.img *.iso \
kube-weave.yaml
$(MAKE) -C image-cache clean