mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
[CKS] Create Kubernetes ISO support for ARCH optional parameter (#10986)
* [CKS] Create Kubernetes ISO support for ARCH optional parameter * Include arch on the build name * Refactor * Fix ISO naming * Apply suggestions from code review Co-authored-by: Wei Zhou <weizhou@apache.org> * Reorder parameters --------- Co-authored-by: Wei Zhou <weizhou@apache.org>
This commit is contained in:
parent
0d4147f3f6
commit
13892e2ff0
@ -19,11 +19,26 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ $# -lt 6 ]; then
|
if [ $# -lt 6 ]; then
|
||||||
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 [ETCD_VERSION]"
|
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 [ARCH] [ETCD_VERSION]"
|
||||||
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 3.5.1"
|
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 amd64"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ARCH="amd64"
|
||||||
|
ARCH_SUFFIX="x86_64"
|
||||||
|
if [ -n "${8}" ]; then
|
||||||
|
if [ "${8}" = "x86_64" ] || [ "${8}" = "amd64" ]; then
|
||||||
|
ARCH="amd64"
|
||||||
|
ARCH_SUFFIX="x86_64"
|
||||||
|
elif [ "${8}" = "aarch64" ] || [ "${8}" = "arm64" ]; then
|
||||||
|
ARCH="arm64"
|
||||||
|
ARCH_SUFFIX="aarch64"
|
||||||
|
else
|
||||||
|
echo "ERROR: ARCH must be 'x86_64' or 'aarch64'. If the optional parameter ARCH is not set then 'x86_64' is used."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
RELEASE="v${2}"
|
RELEASE="v${2}"
|
||||||
VAL="1.18.0"
|
VAL="1.18.0"
|
||||||
output_dir="${1}"
|
output_dir="${1}"
|
||||||
@ -31,29 +46,29 @@ start_dir="$PWD"
|
|||||||
iso_dir="/tmp/iso"
|
iso_dir="/tmp/iso"
|
||||||
working_dir="${iso_dir}/"
|
working_dir="${iso_dir}/"
|
||||||
mkdir -p "${working_dir}"
|
mkdir -p "${working_dir}"
|
||||||
build_name="${7}.iso"
|
build_name="${7}-${ARCH_SUFFIX}.iso"
|
||||||
[ -z "${build_name}" ] && build_name="setup-${RELEASE}.iso"
|
[ -z "${build_name}" ] && build_name="setup-${RELEASE}-${ARCH_SUFFIX}.iso"
|
||||||
|
|
||||||
CNI_VERSION="v${3}"
|
CNI_VERSION="v${3}"
|
||||||
echo "Downloading CNI ${CNI_VERSION}..."
|
echo "Downloading CNI ${CNI_VERSION}..."
|
||||||
cni_dir="${working_dir}/cni/"
|
cni_dir="${working_dir}/cni/"
|
||||||
mkdir -p "${cni_dir}"
|
mkdir -p "${cni_dir}"
|
||||||
cni_status_code=$(curl -L --write-out "%{http_code}\n" "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-amd64-${CNI_VERSION}.tgz" -o "${cni_dir}/cni-plugins-amd64.tgz")
|
cni_status_code=$(curl -L --write-out "%{http_code}\n" "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz" -o "${cni_dir}/cni-plugins-${ARCH}.tgz")
|
||||||
if [[ ${cni_status_code} -eq 404 ]] ; then
|
if [[ ${cni_status_code} -eq 404 ]] ; then
|
||||||
curl -L --write-out "%{http_code}\n" "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-amd64-${CNI_VERSION}.tgz" -o "${cni_dir}/cni-plugins-amd64.tgz"
|
curl -L --write-out "%{http_code}\n" "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-${ARCH}-${CNI_VERSION}.tgz" -o "${cni_dir}/cni-plugins-${ARCH}.tgz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CRICTL_VERSION="v${4}"
|
CRICTL_VERSION="v${4}"
|
||||||
echo "Downloading CRI tools ${CRICTL_VERSION}..."
|
echo "Downloading CRI tools ${CRICTL_VERSION}..."
|
||||||
crictl_dir="${working_dir}/cri-tools/"
|
crictl_dir="${working_dir}/cri-tools/"
|
||||||
mkdir -p "${crictl_dir}"
|
mkdir -p "${crictl_dir}"
|
||||||
curl -L "https://github.com/kubernetes-incubator/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-amd64.tar.gz" -o "${crictl_dir}/crictl-linux-amd64.tar.gz"
|
curl -L "https://github.com/kubernetes-incubator/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-${ARCH}.tar.gz" -o "${crictl_dir}/crictl-linux-${ARCH}.tar.gz"
|
||||||
|
|
||||||
echo "Downloading Kubernetes tools ${RELEASE}..."
|
echo "Downloading Kubernetes tools ${RELEASE}..."
|
||||||
k8s_dir="${working_dir}/k8s"
|
k8s_dir="${working_dir}/k8s"
|
||||||
mkdir -p "${k8s_dir}"
|
mkdir -p "${k8s_dir}"
|
||||||
cd "${k8s_dir}"
|
cd "${k8s_dir}"
|
||||||
curl -L --remote-name-all https://dl.k8s.io/release/${RELEASE}/bin/linux/amd64/{kubeadm,kubelet,kubectl}
|
curl -L --remote-name-all https://dl.k8s.io/release/${RELEASE}/bin/linux/${ARCH}/{kubeadm,kubelet,kubectl}
|
||||||
kubeadm_file_permissions=`stat --format '%a' kubeadm`
|
kubeadm_file_permissions=`stat --format '%a' kubeadm`
|
||||||
chmod +x kubeadm
|
chmod +x kubeadm
|
||||||
|
|
||||||
@ -148,11 +163,12 @@ chmod ${kubeadm_file_permissions} "${working_dir}/k8s/kubeadm"
|
|||||||
echo "Updating imagePullPolicy to IfNotPresent in yaml files..."
|
echo "Updating imagePullPolicy to IfNotPresent in yaml files..."
|
||||||
sed -i "s/imagePullPolicy:.*/imagePullPolicy: IfNotPresent/g" ${working_dir}/*.yaml
|
sed -i "s/imagePullPolicy:.*/imagePullPolicy: IfNotPresent/g" ${working_dir}/*.yaml
|
||||||
|
|
||||||
if [ -n "${8}" ]; then
|
# Optional parameter ETCD_VERSION
|
||||||
|
if [ -n "${9}" ]; then
|
||||||
# Install etcd dependencies
|
# Install etcd dependencies
|
||||||
etcd_dir="${working_dir}/etcd"
|
etcd_dir="${working_dir}/etcd"
|
||||||
mkdir -p "${etcd_dir}"
|
mkdir -p "${etcd_dir}"
|
||||||
ETCD_VERSION=v${8}
|
ETCD_VERSION=v${9}
|
||||||
wget -q --show-progress "https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" -O ${etcd_dir}/etcd-linux-amd64.tar.gz
|
wget -q --show-progress "https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" -O ${etcd_dir}/etcd-linux-amd64.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user