Skip to content

Commit 875bed6

Browse files
committed
Update kubernetes to 1.14
Also enable external storage provisioners like Ceph RBD. Added eudev needed for detecting device mounts. Without it tools like rbd will timeout waiting for a message on /run/udev/control. Signed-off-by: Bastiaan Schaap <[email protected]>
1 parent 7622bd4 commit 875bed6

File tree

20 files changed

+160
-68
lines changed

20 files changed

+160
-68
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
*.iso
2+
*.tar
23
kube-*-kernel
34
kube-*-cmdline
45
kube-*-initrd.img
56
kube-*-state
67
kube-weave.yaml
8+
kube-calico.yaml

Makefile

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
KUBE_RUNTIME ?= docker
22
KUBE_NETWORK ?= weave
3+
KUBE_VERSION ?= 1.14
4+
KUBE_NETWORK_WEAVE ?= v2.5.2
5+
KUBE_NETWORK_CALICO ?= v3.8
36

4-
KUBE_NETWORK_WEAVE ?= v2.2.1
5-
6-
ifeq ($(shell uname -s),Darwin)
7-
KUBE_FORMATS ?= iso-efi
8-
else
9-
KUBE_FORMATS ?= iso-bios
10-
endif
7+
# ifeq ($(shell uname -s),Darwin)
8+
# KUBE_FORMATS ?= iso-efi
9+
# else
10+
#KUBE_FORMATS ?= iso-bios
11+
# endif
12+
KUBE_FORMATS ?= tar-kernel-initrd
1113

1214
KUBE_FORMAT_ARGS := $(patsubst %,-format %,$(KUBE_FORMATS))
1315

@@ -25,7 +27,12 @@ node: yml/kube.yml yml/$(KUBE_RUNTIME).yml yml/$(KUBE_NETWORK).yml $(KUBE_EXTRA_
2527
yml/weave.yml: kube-weave.yaml
2628

2729
kube-weave.yaml:
28-
curl -L -o $@ https://cloud.weave.works/k8s/v1.8/net?v=$(KUBE_NETWORK_WEAVE)
30+
curl -L -o $@ https://cloud.weave.works/k8s/v$(KUBE_VERSION)/net?v=$(KUBE_NETWORK_WEAVE)
31+
32+
yml/calico.yml: kube-calico.yaml
33+
34+
kube-calico.yaml:
35+
curl -L -o $@ https://docs.projectcalico.org/${KUBE_NETWORK_CALICO}/manifests/calico.yaml
2936

3037
.PHONY: update-hashes
3138
update-hashes:

pkg/cri-containerd/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM linuxkit/alpine:1b05307ae8152e3d38f79e297b0632697a30c65c AS build
1+
FROM linuxkit/alpine:08c8d8aa3638d035e18499a74faf50eedb8d6cf6-amd64 AS build
22

33
RUN \
44
apk add \

pkg/eudev/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM linuxkit/alpine:08c8d8aa3638d035e18499a74faf50eedb8d6cf6-amd64 AS mirror
2+
3+
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
4+
5+
RUN apk add --no-cache --initdb -p /out \
6+
alpine-baselayout \
7+
busybox \
8+
ca-certificates \
9+
tini \
10+
eudev \
11+
&& true
12+
13+
# Remove apk residuals. We have a read-only rootfs, so apk is of no use.
14+
RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache
15+
16+
FROM scratch
17+
WORKDIR /
18+
ENTRYPOINT []
19+
COPY --from=mirror /out /
20+
COPY etc/ /etc/
21+
COPY usr/ /usr/
22+
CMD ["/sbin/tini", "/usr/bin/udevd.sh"]

pkg/eudev/build.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
org: linuxkit
2+
image: eudev
3+
network: true
4+
arches:
5+
- amd64
6+
config:
7+
binds:
8+
- /dev:/dev
9+
- /run:/run:rshared,rbind
10+
- /var:/var:rshared,rbind
11+
capabilities:
12+
- all
13+
rootfsPropagation: shared
14+
pid: host
15+
runtime:
16+
mkdir:
17+
- /run/udev
18+
mounts:
19+
- type: bind
20+
source: /run/udev
21+
destination: /run/udev
22+
options: ["rw","bind"]

pkg/eudev/etc/udev/udev.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# see udev.conf(5) for details
2+
3+
udev_log="info"

pkg/eudev/usr/bin/udevd.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
udevadm hwdb --update
3+
exec /sbin/udevd

pkg/kube-e2e-test/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM linuxkit/alpine:1b05307ae8152e3d38f79e297b0632697a30c65c AS build
1+
FROM linuxkit/alpine:08c8d8aa3638d035e18499a74faf50eedb8d6cf6-amd64 AS build
22

33
# When changing kubernetes_version remember to also update:
44
# - scripts/mk-image-cache-lst and run `make refresh-image-caches` from top-level

pkg/kubelet/Dockerfile

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
FROM linuxkit/alpine:1b05307ae8152e3d38f79e297b0632697a30c65c AS build
1+
FROM linuxkit/alpine:08c8d8aa3638d035e18499a74faf50eedb8d6cf6-amd64 AS build
22

33
# When changing kubernetes_version remember to also update:
44
# - scripts/mk-image-cache-lst and run `make refresh-image-caches` from top-level
55
# - pkg/e2e-test/Dockerfile
6-
ENV kubernetes_version v1.10.3
7-
ENV cni_version v0.7.1
8-
ENV critools_version v1.0.0-alpha.0
6+
ENV kubernetes_version v1.14.4
7+
ENV cni_version v0.8.1
8+
ENV critools_version v1.15.0
99

1010
RUN apk add -U --no-cache \
1111
bash \
@@ -19,6 +19,7 @@ RUN apk add -U --no-cache \
1919
linux-headers \
2020
make \
2121
rsync \
22+
py-prettytable \
2223
&& true
2324

2425
ENV GOPATH=/go PATH=$PATH:/go/bin
@@ -54,7 +55,7 @@ RUN set -e; \
5455
git fetch origin "CNI_BRANCH"; \
5556
fi; \
5657
git checkout -q $CNI_COMMIT
57-
RUN ./build.sh
58+
RUN ./build_linux.sh
5859

5960
### critools
6061

@@ -94,6 +95,12 @@ RUN apk add --no-cache --initdb -p /out \
9495
socat \
9596
util-linux \
9697
nfs-utils \
98+
ceph-common \
99+
rbd-nbd \
100+
py-prettytable \
101+
e2fsprogs \
102+
xfsprogs \
103+
btrfs-progs \
97104
&& true
98105

99106
RUN cp $GOPATH/src/github.com/kubernetes/kubernetes/_output/bin/kubelet /out/usr/bin/kubelet
@@ -116,4 +123,5 @@ FROM scratch
116123
WORKDIR /
117124
ENTRYPOINT ["/usr/bin/kubelet.sh"]
118125
COPY --from=build /out /
126+
COPY --from=docker:18.03.0-ce /usr/local/bin/docker /usr/local/bin/docker
119127
ENV KUBECONFIG "/etc/kubernetes/admin.conf"

pkg/kubelet/build.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ config:
3636
- /var/lib/cni/bin
3737
- /var/lib/kubelet-plugins
3838
- /var/lib/nfs/statd/sm
39+
- /run/udev
3940
mounts:
4041
- type: bind
4142
source: /var/lib/cni/bin
@@ -45,3 +46,7 @@ config:
4546
source: /var/lib/cni/conf
4647
destination: /etc/cni/net.d
4748
options: ["rw","bind"]
49+
- type: bind
50+
source: /run/udev
51+
destination: /run/udev
52+
options: ["rw","bind"]

0 commit comments

Comments
 (0)