From 6659aa0815ac99978a964a47942f361f6bbe8640 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 10:09:09 +0000 Subject: [PATCH 1/6] kubernetes: refactor final metadata construction to common location Shared between the master and node cases. Signed-off-by: Ian Campbell --- projects/kubernetes/boot.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/projects/kubernetes/boot.sh b/projects/kubernetes/boot.sh index 0970fbebd..7cd5423bf 100755 --- a/projects/kubernetes/boot.sh +++ b/projects/kubernetes/boot.sh @@ -34,10 +34,6 @@ if [ $# -eq 0 ] ; then kubeadm_data="${kubeadm_data+$kubeadm_data, }\"untaint-master\": \"\"" fi - if [ -n "${kubeadm_data}" ] ; then - data="{ \"kubeadm\": { ${kubeadm_data} } }" - fi - state="kube-master-state" : ${KUBE_VCPUS:=$KUBE_MASTER_VCPUS} @@ -60,7 +56,7 @@ elif [ $# -ge 1 ] ; then shift if [ $# -ge 1 ] ; then - data="{\"kubeadm\": {\"join\": \"${*}\"} }" + kubeadm_data="\"join\": \"${*}\"" fi state="kube-${name}-state" @@ -76,6 +72,11 @@ else echo " ${0} " exit 1 fi + +if [ -n "${kubeadm_data}" ] ; then + data="{ \"kubeadm\": { ${kubeadm_data} } }" +fi + set -x if [ -n "${KUBE_CLEAR_STATE}" ] ; then rm -rf "${state}" From e1da0ac2bbeb4d769a37cf6c924599322dc944ab Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 10:20:50 +0000 Subject: [PATCH 2/6] kubernetes: Adjust boot.sh for #2703 (multi-level metadata support) Signed-off-by: Ian Campbell --- projects/kubernetes/boot.sh | 8 ++++---- projects/kubernetes/kube.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/kubernetes/boot.sh b/projects/kubernetes/boot.sh index 7cd5423bf..60c42d1d3 100755 --- a/projects/kubernetes/boot.sh +++ b/projects/kubernetes/boot.sh @@ -28,10 +28,10 @@ if [ $# -eq 0 ] ; then # then we configure for auto init. If it is completely unset then # we do not. if [ -n "${KUBE_MASTER_AUTOINIT+x}" ] ; then - kubeadm_data="${kubeadm_data+$kubeadm_data, }\"init\": \"${KUBE_MASTER_AUTOINIT}\"" + kubeadm_data="${kubeadm_data+$kubeadm_data, }\"init\": { \"content\": \"${KUBE_MASTER_AUTOINIT}\" }" fi if [ "${KUBE_MASTER_UNTAINT}" = "y" ] ; then - kubeadm_data="${kubeadm_data+$kubeadm_data, }\"untaint-master\": \"\"" + kubeadm_data="${kubeadm_data+$kubeadm_data, }\"untaint-master\": { \"content\": \"\" }" fi state="kube-master-state" @@ -56,7 +56,7 @@ elif [ $# -ge 1 ] ; then shift if [ $# -ge 1 ] ; then - kubeadm_data="\"join\": \"${*}\"" + kubeadm_data="\"join\": { \"content\": \"${*}\" }" fi state="kube-${name}-state" @@ -74,7 +74,7 @@ else fi if [ -n "${kubeadm_data}" ] ; then - data="{ \"kubeadm\": { ${kubeadm_data} } }" + data="{ \"kubeadm\": { \"entries\": { ${kubeadm_data} } } }" fi set -x diff --git a/projects/kubernetes/kube.yml b/projects/kubernetes/kube.yml index cb78dec36..de5216168 100644 --- a/projects/kubernetes/kube.yml +++ b/projects/kubernetes/kube.yml @@ -18,7 +18,7 @@ onboot: image: linuxkit/dhcpcd:48831507404049660b960e4055f544917d90378e command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] - name: metadata - image: linuxkit/metadata:9506d124d0a3ff645c9781c47f207423abf6154d + image: linuxkit/metadata:026aca5c08c22589a7e319f79449bef2c65f04c5 - name: format image: linuxkit/format:10e75e78e1f134d310c62e9a0352df1c67b0dd81 - name: mounts From 815f50803c38a6516b6c73713bb7d49fcc02a95d Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 10:33:38 +0000 Subject: [PATCH 3/6] kubernetes: rename images to better reflect what they are. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `linuxkitprojects/kubernetes` → `linuxkitprojects/kubelet` `linuxkitprojects/kubernetes-image-cache-*` → `linuxkitprojects/kubernetes-docker-image-cache-*` `kubernetes` subdirectory is also renamed to `kubelet`. `image-cache` subdirectory is not renamed since we may want to build other sorts of image cache at some point. Signed-off-by: Ian Campbell --- projects/kubernetes/Makefile | 4 ++-- projects/kubernetes/image-cache/build.yml.in | 2 +- projects/kubernetes/{kubernetes => kubelet}/Dockerfile | 0 projects/kubernetes/{kubernetes => kubelet}/build.yml | 2 +- projects/kubernetes/{kubernetes => kubelet}/kubeadm-init.sh | 0 projects/kubernetes/{kubernetes => kubelet}/kubelet.sh | 0 6 files changed, 4 insertions(+), 4 deletions(-) rename projects/kubernetes/{kubernetes => kubelet}/Dockerfile (100%) rename projects/kubernetes/{kubernetes => kubelet}/build.yml (82%) rename projects/kubernetes/{kubernetes => kubelet}/kubeadm-init.sh (100%) rename projects/kubernetes/{kubernetes => kubelet}/kubelet.sh (100%) diff --git a/projects/kubernetes/Makefile b/projects/kubernetes/Makefile index 52042d299..10e0a388b 100644 --- a/projects/kubernetes/Makefile +++ b/projects/kubernetes/Makefile @@ -13,13 +13,13 @@ KUBE_FORMAT_ARGS := $(patsubst %,-format %,$(KUBE_FORMATS)) all: build-container-images build-vm-images build-container-images: - linuxkit pkg build kubernetes + linuxkit pkg build kubelet build-cache-images: $(MAKE) -C image-cache build push-container-images: - linuxkit pkg push kubernetes + linuxkit pkg push kubelet $(MAKE) -C image-cache push build-vm-images: kube-master.iso kube-node.iso diff --git a/projects/kubernetes/image-cache/build.yml.in b/projects/kubernetes/image-cache/build.yml.in index c7dee1e61..2b9a26c43 100644 --- a/projects/kubernetes/image-cache/build.yml.in +++ b/projects/kubernetes/image-cache/build.yml.in @@ -1,5 +1,5 @@ org: linuxkitprojects -image: kubernetes-image-cache-@@CACHE@@ +image: kubernetes-docker-image-cache-@@CACHE@@ disable-content-trust: true arches: - amd64 diff --git a/projects/kubernetes/kubernetes/Dockerfile b/projects/kubernetes/kubelet/Dockerfile similarity index 100% rename from projects/kubernetes/kubernetes/Dockerfile rename to projects/kubernetes/kubelet/Dockerfile diff --git a/projects/kubernetes/kubernetes/build.yml b/projects/kubernetes/kubelet/build.yml similarity index 82% rename from projects/kubernetes/kubernetes/build.yml rename to projects/kubernetes/kubelet/build.yml index 878b405d2..05c64c46d 100644 --- a/projects/kubernetes/kubernetes/build.yml +++ b/projects/kubernetes/kubelet/build.yml @@ -1,5 +1,5 @@ org: linuxkitprojects -image: kubernetes +image: kubelet network: true disable-content-trust: true arches: diff --git a/projects/kubernetes/kubernetes/kubeadm-init.sh b/projects/kubernetes/kubelet/kubeadm-init.sh similarity index 100% rename from projects/kubernetes/kubernetes/kubeadm-init.sh rename to projects/kubernetes/kubelet/kubeadm-init.sh diff --git a/projects/kubernetes/kubernetes/kubelet.sh b/projects/kubernetes/kubelet/kubelet.sh similarity index 100% rename from projects/kubernetes/kubernetes/kubelet.sh rename to projects/kubernetes/kubelet/kubelet.sh From 57171c30defe9ba1bd1dcf6b82e75a96ac8f533c Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 10:41:40 +0000 Subject: [PATCH 4/6] kubernetes: Bump yml and rename Signed-off-by: Ian Campbell --- projects/kubernetes/docker-master.yml | 4 ++-- projects/kubernetes/docker.yml | 4 ++-- projects/kubernetes/kube.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/kubernetes/docker-master.yml b/projects/kubernetes/docker-master.yml index 3ba339b79..75112cf46 100644 --- a/projects/kubernetes/docker-master.yml +++ b/projects/kubernetes/docker-master.yml @@ -1,3 +1,3 @@ services: - - name: kubernetes-image-cache-control-plane - image: linuxkitprojects/kubernetes-image-cache-control-plane:77fd430bba18ed06d2128e9e8b45767b6fa39178 + - name: kubernetes-docker-image-cache-control-plane + image: linuxkitprojects/kubernetes-docker-image-cache-control-plane:02d28e234458f29277f175e68fdca028403b3ed8 diff --git a/projects/kubernetes/docker.yml b/projects/kubernetes/docker.yml index e7b277be2..511fad0b2 100644 --- a/projects/kubernetes/docker.yml +++ b/projects/kubernetes/docker.yml @@ -22,8 +22,8 @@ services: command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"] runtime: mkdir: ["/var/lib/kubeadm", "/var/lib/cni/etc", "/var/lib/cni/opt", "/var/lib/kubelet-plugins"] - - name: kubernetes-image-cache-common - image: linuxkitprojects/kubernetes-image-cache-common:77fd430bba18ed06d2128e9e8b45767b6fa39178 + - name: kubernetes-docker-image-cache-common + image: linuxkitprojects/kubernetes-docker-image-cache-common:02d28e234458f29277f175e68fdca028403b3ed8 files: - path: /etc/kubelet.sh.conf contents: "" diff --git a/projects/kubernetes/kube.yml b/projects/kubernetes/kube.yml index de5216168..9b3a2ef36 100644 --- a/projects/kubernetes/kube.yml +++ b/projects/kubernetes/kube.yml @@ -36,7 +36,7 @@ services: - name: sshd image: linuxkit/sshd:b7f21ef1b13300a994e35eac3644e4f84f0ada8a - name: kubelet - image: linuxkitprojects/kubernetes:a2693a182f9038d6ac5f7309f4678a9ad11d39ca + image: linuxkitprojects/kubelet:4f93f02fb13f8c3e98e922afb2ef8cd1e0da66b3 files: - path: etc/linuxkit.yml metadata: yaml From 1ec48df74b0e926808296a2936ed7f1a4f78a05f Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 13:36:11 +0000 Subject: [PATCH 5/6] kubernetes: Use file based metadata A bit easier for debugging/inspection etc. Signed-off-by: Ian Campbell --- projects/kubernetes/boot.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/projects/kubernetes/boot.sh b/projects/kubernetes/boot.sh index 60c42d1d3..f404c3fc1 100755 --- a/projects/kubernetes/boot.sh +++ b/projects/kubernetes/boot.sh @@ -73,10 +73,6 @@ else exit 1 fi -if [ -n "${kubeadm_data}" ] ; then - data="{ \"kubeadm\": { \"entries\": { ${kubeadm_data} } } }" -fi - set -x if [ -n "${KUBE_CLEAR_STATE}" ] ; then rm -rf "${state}" @@ -85,4 +81,10 @@ if [ -n "${KUBE_CLEAR_STATE}" ] ; then echo -n "${KUBE_MAC}" > "${state}"/mac-addr fi fi -linuxkit run ${KUBE_RUN_ARGS} -networking ${KUBE_NETWORKING} -cpus ${KUBE_VCPUS} -mem ${KUBE_MEM} -state "${state}" -disk size=${KUBE_DISK} -data "${data}" ${uefi} "${img}${suffix}" + +touch $state/metadata.json +if [ -n "${kubeadm_data}" ] ; then + echo "{ \"kubeadm\": { \"entries\": { ${kubeadm_data} } } }" > $state/metadata.json +fi + +linuxkit run ${KUBE_RUN_ARGS} -networking ${KUBE_NETWORKING} -cpus ${KUBE_VCPUS} -mem ${KUBE_MEM} -state "${state}" -disk size=${KUBE_DISK} -data $state/metadata.json ${uefi} "${img}${suffix}" From 89d47bc9fbca6bcc2b4a0b3bc037094fa2750323 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 15 Nov 2017 15:45:21 +0000 Subject: [PATCH 6/6] kubernetes: Include correct kube yaml file for weave. I changed my mind about the name halfway through implementing #2700 and seemingly forgot to update the most important location, but a stale local file stopped me from noticing. Signed-off-by: Ian Campbell --- projects/kubernetes/weave.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/kubernetes/weave.yml b/projects/kubernetes/weave.yml index c410bf747..521b41ca5 100644 --- a/projects/kubernetes/weave.yml +++ b/projects/kubernetes/weave.yml @@ -1,3 +1,3 @@ files: - path: /etc/kubeadm/kube-system.init/50-weave.yaml - source: weave-sa.yaml + source: kube-weave.yaml