1- #! /bin/bash
1+ #! /bin/bash -x
22# Licensed to the Apache Software Foundation (ASF) under one
33# or more contributor license agreements. See the NOTICE file
44# distributed with this work for additional information
1616# specific language governing permissions and limitations
1717# under the License.
1818
19+ set -e
20+
1921if [ $# -lt 6 ]; then
20- echo " Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG"
21- echo " eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml"
22+ echo " Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG BUILD_NAME "
23+ echo " eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml setup-v1.11.4.iso "
2224 exit 1
2325fi
2426
@@ -28,6 +30,8 @@ start_dir="$PWD"
2830iso_dir=" /tmp/iso"
2931working_dir=" ${iso_dir} /"
3032mkdir -p " ${working_dir} "
33+ build_name=" ${7} .iso"
34+ [ -z " ${build_name} " ] && build_name=" setup-${RELEASE} .iso"
3135
3236CNI_VERSION=" v${3} "
3337echo " Downloading CNI ${CNI_VERSION} ..."
@@ -50,7 +54,7 @@ kubeadm_file_permissions=`stat --format '%a' kubeadm`
5054chmod +x kubeadm
5155
5256echo " Downloading kubelet.service ${RELEASE} ..."
53- cd $ start_dir
57+ cd " ${ start_dir} "
5458kubelet_service_file=" ${working_dir} /kubelet.service"
5559touch " ${kubelet_service_file} "
5660curl -sSL " https://raw.githubusercontent.com/kubernetes/kubernetes/${RELEASE} /build/debs/kubelet.service" | sed " s:/usr/bin:/opt/bin:g" > ${kubelet_service_file}
@@ -87,6 +91,14 @@ if [ $? -ne 0 ]; then
8791fi
8892mkdir -p " ${working_dir} /docker"
8993output=` ${k8s_dir} /kubeadm config images list --kubernetes-version=${RELEASE} `
94+
95+ # Don't forget about the yaml images !
96+ for i in ${network_conf_file} ${dashboard_conf_file}
97+ do
98+ images=` grep " image:" $i | cut -d ' :' -f2- | tr -d ' ' | tr -d " '" `
99+ output=` printf " %s\n" ${output} ${images} `
100+ done
101+
90102while read -r line; do
91103 echo " Downloading docker image $line ---"
92104 sudo docker pull " $line "
@@ -96,11 +108,11 @@ while read -r line; do
96108done <<< " $output"
97109
98110echo " Restore kubeadm permissions..."
99- if [ " ${kubeadm_file_permissions} " -eq " " ]; then
111+ if [ -z " ${kubeadm_file_permissions} " ]; then
100112 kubeadm_file_permissions=644
101113fi
102114chmod ${kubeadm_file_permissions} " ${working_dir} /k8s/kubeadm"
103115
104- mkisofs -o " ${output_dir} /setup- ${RELEASE} .iso " -J -R -l " ${iso_dir} "
116+ mkisofs -o " ${output_dir} /${build_name} " -J -R -l " ${iso_dir} "
105117
106118rm -rf " ${iso_dir} "
0 commit comments