mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-22 10:31:35 +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
|
end
|
||||||
|
|
||||||
def create_kubeadm_wrappers
|
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 #{@versions[:kubernetes]}", '/usr/bin/kubeadm-init.sh'
|
||||||
create_shell_wrapper "kubeadm init --skip-preflight-checks --kubernetes-version v1.6.1", '/usr/bin/kubeadm-init.sh'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
install_dependencies
|
install_dependencies
|
||||||
|
@ -8,10 +8,44 @@ build-container-images: Boxfile
|
|||||||
boxbuilder/box:master Boxfile
|
boxbuilder/box:master Boxfile
|
||||||
|
|
||||||
push-container-images: build-container-image
|
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:
|
build-vm-images:
|
||||||
../../bin/moby build -name kube-master kube-master.yml
|
../../bin/moby build -name kube-master kube-master.yml
|
||||||
|
|
||||||
clean:
|
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:
|
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`:
|
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:/var:rshared,rbind
|
||||||
- /var/lib/kubeadm:/etc/kubernetes
|
- /var/lib/kubeadm:/etc/kubernetes
|
||||||
rootfsPropagation: shared
|
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
|
- name: kubelet
|
||||||
image: "errordeveloper/mobykube:master"
|
image: "mobylinux/kubernetes:latest"
|
||||||
capabilities:
|
capabilities:
|
||||||
- all
|
- all
|
||||||
net: host
|
net: host
|
||||||
|
Loading…
Reference in New Issue
Block a user