当前位置: 首页 > news >正文

制作企业网站的步骤网站怎么做网盘

制作企业网站的步骤,网站怎么做网盘,广告传媒公司排名,安徽元鼎建设工程 网站前言:脚本写成并非一蹴而就,需要不断的调式和修改,这里也是改到了7版本才在 生产环境 中验证成功。 该命令 和 脚本适用于以下场景:在某些项目中,由于特定的安全或政策要求,不允许连接到你的镜像仓库。然而…

前言:脚本写成并非一蹴而就,需要不断的调式和修改,这里也是改到了7版本才在 生产环境 中验证成功。

该命令 和 脚本适用于以下场景:在某些项目中,由于特定的安全或政策要求,不允许连接到你的镜像仓库。然而,项目团队仍需获取特定命名空间下的部分 或者 所有 Docker 镜像。此命令和脚本能够协助您在本地环境拉取并保存所需命名空间中的镜像,以便安全地提供给项目团队,满足他们的部署和测试需求,同时确保遵守相关的安全规定和访问限制。

一、命令获取指定pod镜像
命令-查询镜像版本号:
kubectl get pods -n <namespace> -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{"\n"}{end}{end}' | grep -E "(<pod-name1>|<pod-name2>|<pod-name3>|<pod-name......>)"
执行结果:

命令-save:
docker save -o namespace_images.tar <pod-name1结果......727> <pod-name2结果......21164728> <pod-name3结果......build_20241021181731> <pod-name......结果>
执行结果:

最后会生成一个tar包

二、自动化脚本获取指定命名空间下全量pod镜像
脚本内容:

#!/bin/bash# 提示用户输入命名空间
echo -e "请输入命名空间:"
read -e NAMESPACE# 获取当前脚本的绝对路径
SCRIPT_DIR=$(cd $(dirname $0) && pwd)# 定义输出文件名,格式为 <命名空间>_images_<日期>.tar
OUTPUT_FILE="${NAMESPACE}_images_$(date +%Y%m%d).tar"# 获取该命名空间下的所有 Pod 的名称和镜像
POD_NAMES=$(kubectl get pods -n $NAMESPACE -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}')
IMAGES=$(kubectl get pods -n $NAMESPACE -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.image}{"\n"}{end}{end}' | sort | uniq)# 拼接所有镜像名称成一个字符串
IMAGE_STRING=""
for IMAGE in $IMAGES; doIMAGE_STRING+="$IMAGE "
done# 拉取所有镜像
echo "正在拉取所有镜像..."
for IMAGE in $IMAGES; dodocker pull $IMAGE
done# 保存所有镜像到一个文件
echo "正在将所有镜像保存到单个 tar 文件:$OUTPUT_FILE"
docker save $IMAGE_STRING -o $SCRIPT_DIR/$OUTPUT_FILEecho "所有镜像已处理并保存到 $SCRIPT_DIR/$OUTPUT_FILE"

脚本执行后,等待执行结束会生成一个以 命名空间 和 当前日期 的tar包


以下是脚本的详细解析:

  1. 获取指定命名空间下所有 Pod 的镜像列表,并去重

    IMAGES=$(kubectl get pods -n $NAMESPACE -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.image}{"\n"}{end}{end}' | sort | uniq)
    

    这行代码使用 kubectl 命令获取指定命名空间下所有 Pod 的镜像列表。jsonpath 参数用于提取镜像名称,然后通过管道传递给 sortuniq 命令,以确保列表中的镜像名称是唯一的(去重)。

  2. 将所有镜像名称拼接成一个字符串

    IMAGE_STRING=""
    for IMAGE in $IMAGES; doIMAGE_STRING+="$IMAGE "
    done
    

    这个循环遍历去重后的镜像列表 IMAGES,并将每个镜像名称添加到 IMAGE_STRING 变量中,镜像名称之间用空格分隔。

  3. 定义输出文件名,格式为 KaTeX parse error: Expected group after '_' at position 19: …MESPACE}_images_̲(date +%Y%m%d).tar

    OUTPUT_FILE="${NAMESPACE}_images_$(date +%Y%m%d).tar"
    

    这行代码定义了输出文件的名称,格式为 ${NAMESPACE}_images_<日期>.tar,其中 <日期>date +%Y%m%d 命令生成,表示当前日期的年月日。

  4. 拉取所有镜像

    for IMAGE in $IMAGES; dodocker pull $IMAGE
    done
    

    这个循环遍历去重后的镜像列表 IMAGES,并对每个镜像执行 docker pull 命令,以确保本地有这些镜像的最新版本。

  5. 使用 docker save 命令将所有镜像保存到一个 tar 文件中

    docker save $IMAGE_STRING -o $SCRIPT_DIR/$OUTPUT_FILE
    

    这行代码使用 docker save 命令将所有镜像(由 IMAGE_STRING 变量指定)保存到一个 tar 文件中。-o 参数指定输出文件的路径和名称,该路径是脚本所在目录下的 $OUTPUT_FILE

  6. 输出保存完成的消息

    echo "All images have been processed and saved to $SCRIPT_DIR/$OUTPUT_FILE"
    

    这行代码输出一条消息,通知用户所有镜像已经被处理并保存到了指定的文件路径。

http://www.yayakq.cn/news/461080/

相关文章:

  • 刮奖网站姓名域名网站
  • 网站建设中网站需求分析报告功能保定网站设计公司排名
  • 网站域名登想学室内设计在哪里学比较好
  • 网站模块建设建议网络故障维修
  • 网站搭建代理南昌网站建设设计
  • 南京网站制作案例沈阳网站制作策划
  • 建网站哪个公司好程序员 修电脑 做网站
  • 大型旅行社自建网站无代码编程的应用场景
  • 上海移动网站建设google关键词挖掘工具
  • 云程环境建设集团网站wordpress作者权限
  • 襄阳网站seo公司网站建设项
  • 网站建设套模板wordpress获取当前页地址
  • 红河科技公司 网站建设《语文建设》网站
  • 网站软文制作网络公司注册流程及费用
  • 网站开发常遇到的问题有哪些织梦dedecms5.6 网站搬家详细教程
  • 做前端网站要注意哪些河南郑州新闻头条最新事件
  • 运营服务商官方网站做dnf辅助网站
  • 民治做网站公司女生在建筑公司的职位
  • 网站建设s修改wordpress浏览器小图标
  • 网站建设需要使用阿里云吗北京网站设计 公司新鸿儒
  • 八爪鱼网站建设网页设计与制作课程评价内实
  • 资讯门户网站怎么做网站图片相册代码
  • 响应式旅游网站模版网站开发软件
  • 网站设计方案模板wordpress翻译公司网站
  • 山西大同专业网站建设价格网站制作把图片做背景
  • 惠州的服装网站建设甘肃省专业做网站
  • 大型网站开发企业河南省建设厅人员名单
  • 合肥 网站制作郑州上街区网站建设公司
  • 网站后台添加新闻优秀网站设计作品分析
  • 国际学校网站如何建设seo的范畴是什么