mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 10:09:07 +00:00
Cache Kubernetes images, update image names, add boot-master.sh
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
This commit is contained in:
parent
06ac17821b
commit
73a29022ce
4
projects/kubernetes/.gitignore
vendored
Normal file
4
projects/kubernetes/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
image-cache/common/*.tar
|
||||
image-cache/common/Dockerfile
|
||||
image-cache/control-plane/*.tar
|
||||
image-cache/control-plane/Dockerfile
|
@ -83,8 +83,7 @@ def create_kubelet_wrapper
|
||||
end
|
||||
|
||||
def create_kubeadm_wrappers
|
||||
#create_shell_wrapper 'env KUBE_KUBERNETES_DIR=/var/lib/kubeadm kubeadm init --skip-preflight-checks --kubernetes-version v1.6.1 --cert-dir /var/lib/kubeadm/pki', '/usr/bin/kubeadm-init.sh'
|
||||
create_shell_wrapper "kubeadm init --skip-preflight-checks --kubernetes-version v1.6.1", '/usr/bin/kubeadm-init.sh'
|
||||
create_shell_wrapper "kubeadm init --skip-preflight-checks --kubernetes-version #{@versions[:kubernetes]}", '/usr/bin/kubeadm-init.sh'
|
||||
end
|
||||
|
||||
install_dependencies
|
||||
|
@ -8,10 +8,44 @@ build-container-images: Boxfile
|
||||
boxbuilder/box:master Boxfile
|
||||
|
||||
push-container-images: build-container-image
|
||||
docker push mobylinux/kubernetes:latest
|
||||
docker image push mobylinux/kubernetes:latest
|
||||
docker image push mobylinux/kubernetes:latest-image-cache-common
|
||||
docker image push mobylinux/kubernetes:latest-image-cache-control-plane
|
||||
|
||||
build-vm-images:
|
||||
../../bin/moby build -name kube-master kube-master.yml
|
||||
|
||||
clean:
|
||||
rm -f kube-master-bzImage kube-master-cmdline kube-master-disk.img kube-master-initrd.img
|
||||
rm -f -r \
|
||||
kube-master-bzImage kube-master-cmdline kube-master-disk.img kube-master-initrd.img \
|
||||
image-cache/common image-cache/control-plane
|
||||
|
||||
COMMON_IMAGES := \
|
||||
kube-proxy-amd64:v1.6.1 \
|
||||
k8s-dns-sidecar-amd64:1.14.1 \
|
||||
k8s-dns-kube-dns-amd64:1.14.1 \
|
||||
k8s-dns-dnsmasq-nanny-amd64:1.14.1 \
|
||||
pause-amd64:3.0
|
||||
|
||||
CONTROL_PLANE_IMAGES := \
|
||||
kube-apiserver-amd64:v1.6.1 \
|
||||
kube-controller-manager-amd64:v1.6.1 \
|
||||
kube-scheduler-amd64:v1.6.1 \
|
||||
etcd-amd64:3.0.17
|
||||
|
||||
image-cache/%.tar:
|
||||
mkdir -p $(dir $@)
|
||||
DOCKER_CONTENT_TRUST=1 docker image pull gcr.io/google_containers/$(shell basename $@ .tar)
|
||||
docker image save -o $@ gcr.io/google_containers/$(shell basename $@ .tar)
|
||||
|
||||
cache-images:
|
||||
for image in $(COMMON_IMAGES) ; \
|
||||
do $(MAKE) "image-cache/common/$${image}.tar" \
|
||||
; done
|
||||
cp image-cache/Dockerfile image-cache/common
|
||||
docker image build -t mobylinux/kubernetes:latest-image-cache-common image-cache/common
|
||||
for image in $(CONTROL_PLANE_IMAGES) ; \
|
||||
do $(MAKE) "image-cache/control-plane/$${image}.tar" \
|
||||
; done
|
||||
cp image-cache/Dockerfile image-cache/control-plane
|
||||
docker image build -t mobylinux/kubernetes:latest-image-cache-control-plane image-cache/control-plane
|
||||
|
@ -11,7 +11,7 @@ make
|
||||
|
||||
Boot Kubernetes master OS image using `hyperkit` on macOS:
|
||||
```
|
||||
../../bin/moby run hyperkit -cpus 2 -mem 4096 -disk-size 2048 kube-master
|
||||
./boot-master.sh
|
||||
```
|
||||
|
||||
Manually initialise master with `kubeadm`:
|
||||
|
3
projects/kubernetes/boot-master.sh
Executable file
3
projects/kubernetes/boot-master.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash -eux
|
||||
rm -f kube-master-disk.img
|
||||
../../bin/moby run hyperkit -cpus 2 -mem 4096 -disk-size 2048 kube-master
|
6
projects/kubernetes/image-cache/Dockerfile
Normal file
6
projects/kubernetes/image-cache/Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM mobylinux/docker-ce:741bf21513328f674e0cdcaa55492b0b75974e08
|
||||
|
||||
ADD . /images
|
||||
|
||||
ENTRYPOINT [ "/bin/sh", "-c" ]
|
||||
CMD [ "for image in /images/*.tar ; do docker image load -i $image ; done" ]
|
@ -77,8 +77,16 @@ services:
|
||||
- /var:/var:rshared,rbind
|
||||
- /var/lib/kubeadm:/etc/kubernetes
|
||||
rootfsPropagation: shared
|
||||
- name: kubernetes-image-cache-common
|
||||
image: "mobylinux/kubernetes:latest-image-cache-common"
|
||||
binds:
|
||||
- /var/run:/var/run
|
||||
- name: kubernetes-image-cache-control-plane
|
||||
image: "mobylinux/kubernetes:latest-image-cache-control-plane"
|
||||
binds:
|
||||
- /var/run:/var/run
|
||||
- name: kubelet
|
||||
image: "errordeveloper/mobykube:master"
|
||||
image: "mobylinux/kubernetes:latest"
|
||||
capabilities:
|
||||
- all
|
||||
net: host
|
||||
|
Loading…
Reference in New Issue
Block a user