# 打印当前Kubernetes版本信息 echo -e "\033[44;37m ==== Kubernetes-${version} ==== \033[0m" | tee -a ${WORKDIR}/logs
# 获取当前版本Kubernetes所需的镜像列表 kubeadm config images list --kubernetes-version=${version} > ${WORKDIR}/imagelist for image in `cat${WORKDIR}/imagelist` do # 拉取源镜像 if [[ ${ALI_ENABLED} = "true" ]] then if [[ ${image} =~ 'coredns' ]] && [[ ${major} -eq 1 ]] && [[ ${minor} -ge 21 ]] then srcimage=${image//k8s.gcr.io\/coredns\//registry.aliyuncs.com\/google_containers\/} srcimage=${srcimage//coredns:v/coredns:} else srcimage=${image//k8s.gcr.io\//registry.aliyuncs.com\/google_containers\/} fi else srcimage=${image} fi echo -e "\033[44;37m ==== 拉取${srcimage} ==== \033[0m" | tee -a ${WORKDIR}/logs docker pull ${srcimage} if [[ $? -eq 0 ]] then echo -e "\033[32m 拉取${srcimage}成功 \033[0m" | tee -a ${WORKDIR}/logs else echo -e "\033[31m 拉取${srcimage}失败 \033[0m" | tee -a ${WORKDIR}/logs fi
# 重新给镜像打tag if [[ ${image} =~ 'coredns' ]] && [[ ${major} -eq 1 ]] && [[ ${minor} -ge 21 ]] then dstimage="${image//k8s.gcr.io\/coredns\//$REGISTRY/$NAMESPACE/}" else dstimage="${image//k8s.gcr.io\//$REGISTRY/$NAMESPACE/}" fi echo -e "\033[44;37m ==== 给${srcimage}镜像重新打tag ==== \033[0m" | tee -a ${WORKDIR}/logs echo"docker tag ${srcimage}${dstimage}" | tee -a ${WORKDIR}/logs docker tag ${srcimage}${dstimage} if [[ $? -eq 0 ]] then echo -e "\033[32m 成功 \033[0m" | tee -a ${WORKDIR}/logs else echo -e "\033[31m 失败 \033[0m" | tee -a ${WORKDIR}/logs fi
# 推送镜像 echo -e "\033[44;37m ==== 推送${dstimage} ==== \033[0m" | tee -a ${WORKDIR}/logs echo"docker push $dstimage" | tee -a ${WORKDIR}/logs docker push $dstimage if [[ $? -eq 0 ]] then echo -e "\033[32m 推送${dstimage}成功 \033[0m" | tee -a ${WORKDIR}/logs else echo -e "\033[31m 推送${dstimage}失败 \033[0m" | tee -a ${WORKDIR}/logs fi done echo -e "\033[44;37m ==== 分割线 ==== \033[0m" | tee -a ${WORKDIR}/logs echo"" done