今天需要给一个内网环境安装K8S,需要将镜像保存成压缩包来使用,网上没有现成的好用脚本,直接写了一个
#!/bin/bash
# 获取所有的 Kubernetes 镜像列表
images=$(ctr -n k8s.io image ls -q | grep registry | grep -v @)
# 创建一个临时目录来存储打包的镜像
temp_dir=./
# 遍历镜像列表并进行打包
for image in $images; do
ctr -n k8s.io image export "$temp_dir/$(echo $image |awk -F'/' '{print $NF}' | sed 's/:/-/g').tar" $image
done
例如上面第一条命令获取到的是:
sudo ctr -n k8s.io image ls -q | grep registry | grep -v @
registry.aliyuncs.com/google_containers/coredns:v1.11.1
registry.aliyuncs.com/google_containers/etcd:3.5.12-0
registry.aliyuncs.com/google_containers/kube-apiserver:v1.30.3
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.30.3
registry.aliyuncs.com/google_containers/kube-proxy:v1.30.3
registry.aliyuncs.com/google_containers/kube-scheduler:v1.30.3
registry.aliyuncs.com/google_containers/pause:3.9
循环中的语句截取最后一段,转换冒号为-,并且拼接.tar作为文件名来存储镜像。
了解 工作生活心情记忆 的更多信息
Subscribe to get the latest posts sent to your email.