徐智军
徐智军
发布于 2024-09-11 / 39 阅读
0
0

K8s预先拉取镜像

Contianerd作为容器

#!/bin/bash
# 下面的镜像应该去除"k8s.gcr.io/"的前缀
if [  ! -n "$1" ]; then
  echo -e "\033[31;1m请输入版本 如 1.23.17 \033[0m"
  exit 1
fi

version=$1

images=`kubeadm config images list --kubernetes-version=$version`
#images=`kubeadm config images list --kubernetes-version=$version | grep 'registry.k8s.io/'`


# 设置 IFS 为换行符
OLD_IFS=$IFS
IFS=$'\n'

for imageName in ${images} ; do
        echo ''
        subName=${imageName#registry.k8s.io/}
        imageName=$subName
        echo "---- 拉取 $subName"
		
		if echo "$subName" | grep -q '^coredns/'; then
			subName=${subName#coredns/}
		fi
				

        ctr -n k8s.io image pull registry.cn-hangzhou.aliyuncs.com/google_containers/$subName
        ctr -n k8s.io image tag registry.cn-hangzhou.aliyuncs.com/google_containers/$subName k8s.gcr.io/$imageName
        ctr -n k8s.io image tag registry.cn-hangzhou.aliyuncs.com/google_containers/$subName registry.k8s.io/$imageName
        ctr -n k8s.io image rm registry.cn-hangzhou.aliyuncs.com/google_containers/$subName
        echo "---- 结束  ${imageName}"

done

Docker作为容器

#!/bin/bash
# 下面的镜像应该去除"k8s.gcr.io/"的前缀
if [  ! -n "$1" ]; then
  echo -e "\033[31;1m请输入版本 如 1.18.3 \033[0m"
  exit 1
fi

version=$1

images=`kubeadm config images list --kubernetes-version=$version | grep 'k8s.gcr.io/'`

for imageName in ${images[@]} ; do
	echo ''
	subName=${imageName#k8s.gcr.io/}
	
	echo "---- START $subName"
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$subName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$subName k8s.gcr.io/$subName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$subName registry.k8s.io/$subName
    docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$subName
	echo "---- END   ${subName}"
	
done  

K3s

#!/bin/bash

# nano pull-k3s-images.sh
# chmod +x pull-k3s-images.sh

images='rancher/mirrored-pause:3.6
rancher/mirrored-coredns-coredns:1.10.1
rancher/local-path-provisioner:v0.0.28
rancher/mirrored-metrics-server:v0.7.0
'

for imageName in ${images[@]} ; do
	echo ''
	subName=${imageName#k8s.gcr.io/}
	
	echo "---- START $subName"
	k3s crictl pull registry.cn-hangzhou.aliyuncs.com/$subName
	k3s ctr image tag registry.cn-hangzhou.aliyuncs.com/$subName $subName
	echo "---- END   ${subName}"
	
done  


评论