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

内网环境,基于k8s docer 自动发包

背景:生产环境是内网,无法连接外部git环境,需要上传tar包打成镜像,然后发布。

简单写了个脚本,记录下方便复用。

将tar包和脚本拷贝到同一个目录下。

使用方式:
tar 包名称格式:服务名-版本号.tar
启动命令 ./docker-load.sh 服务名 版本号
脚本中的 docker 的 ip port、 镜像名称、k8s的命名空间换成你自己。

脚本:

#!/bin/bashSERVICE_NAME="$1"
SERVICE_VER="$2"TAR_FILE=${SERVICE_NAME}-${SERVICE_VER}.tar
IMAGE_NAME=registry.XXX.com/dev/${SERVICE_NAME}:${SERVICE_VER}
TARGET_TAG=DOCKER-IP:PORT/NAMESPACE/${SERVICE_NAME}:${SERVICE_VER}# 本地加载镜像
echo "loading image from $TAR_FILE ..."
docker load -i  "$TAR_FILE"
#IMAGE_ID=$(docker load -i "$TAR_FILE" | awk '/Loaded image:/ {pringt $3}')#if [ -z "$IMAGE_ID" ]; then
#  echo "Failed to load image from $TAR_FILE"
#  exit 1
#fi#echo "Image loaded with ID: $IMAGE_ID"# 打tag
echo "Tagging image  $IMAGE_ID as $TARGET_TAG ..."
docker tag  "$IMAGE_NAME"  "$TARGET_TAG"# 推送镜像
echo "Pushing image  $TARGET_TAG ..."
docker push "$TARGET_TAG"# k8s升级镜像
echo "Set image $SERVICE_NAME  $TARGET_TAG ..."
kubectl set image -n NAMESPACE deployment  $SERVICE_NAME  ${SERVICE_NAME}=$TARGET_TAG  --record
http://www.lryc.cn/news/482096.html

相关文章:

  • 【HCIP园区网综合拓扑实验】配置步骤与详解(已施工完毕)
  • Qt 编写插件plugin,支持接口定义信号
  • Qt中 QWidget 和 QMainWindow 区别
  • Kafka集群中数据的存储是按照什么方式存储的?
  • 中断的硬件框架
  • 数据备份策略:企业防御的关键
  • Baget 私有化nuget
  • 前端函数的参数都有哪些?
  • 【CSS】什么是BFC?
  • HCIP小型园区网拓扑实验
  • GRR测量系统的重复性和再现性
  • 133.鸿蒙基础01
  • 科技查新小知识
  • docker安装portainer
  • 【Word2Vec】传统词嵌入矩阵训练方法
  • 电脑不显示wifi列表怎么办?电脑不显示WiF列表的解决办法
  • 详解 Dockerfile:从入门到实践
  • 随机变量的概率分布
  • Kafka生产者如何提高吞吐量?
  • mysql:解决windows启动失败无报错(或长时间未响应)
  • 【山——回文判断】
  • FPGA学习笔记#7 Vitis HLS 数组优化和函数优化
  • 欧几里得算法python
  • 【layui】echart的简单使用
  • ios打包文件上传App Store windows工具
  • vue2项目启用tailwindcss - 开启class=“w-[190px] mr-[20px]“ - 修复tailwindcss无效的问题
  • mysql中数据不存在却查询到记录?
  • vue3+elementplus+虚拟树el-tree-v2+多条件筛选过滤filter-method
  • 【C#设计模式(4)——构建者模式(Builder Pattern)】
  • LabVIEW实验室液压制动系统