这篇文章主要介绍“怎么向K8s Docker-Compose注入镜像Tag”,在日常操作中,相信很多人在怎么向K8s Docker-Compose注入镜像Tag问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么向K8s Docker-Compose注入镜像Tag”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
10年积累的网站设计制作、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有平遥免费网站建设让你可以放心的选择与我们合作。
熟悉k8s的同学知道, K8s有一个强大的原生配置管理工具:Kustomize
。
Kustomize 以一种无模板的方式来定制应用程序配置,从而简化了现有应用程序的使用。现在kustomize已经以
apply -k
的方式内置进kubectl。
这里利用Kustomize的edit
命令修改定义在Kustomization.yaml
中的镜像Tag:
下面是一个简单的Kustomization.yaml文件:
kind: Kustomization
namespace: wd
resources:
- ../base
images:
- name: hub.docker.com/eap/website //原镜像名
newName: hub.docker.com/eap/website
newTag: v1.0.7-hotfix5 // 持续被修改的Tag
做自动部署时,一般由CI给部署脚本导入此次git tag(镜像Tag)。
#!/bin/sh
cd /home/wd-deploy/localdeploy/wd/overlays/
kustomize edit set image hub.docker.com/eap/website=hub.docker.com/eap/website:${TAG}
kustomize build . | kubectl apply -f -
以上部署脚本: 进入Kustomization.yaml目录,向Kustomization.yaml文件注入新的镜像Tag,构建并应用新的配置。
Docker平台就没有那么好的工具,明文让你修改镜像配置。
我们采用shell脚本
来曲线修改镜像配置:
假如你有一个简单的docker-compose.yml文件:
version: '3'
services:
app:
image: username/app:d7s8f12
ports:
- 80:80
通过shell脚本修改`app:` 字符串后面的镜像Tag,达到注入Tag的目的。
sed -E -i'' "s/(.*app:).*/\1$COMMIT/" 'docker-compose.yml'
同样,自动部署时由CI给部署脚本导入此次Git Tag (镜像Tag)。
#!/bin/sh
cd /home/wd-deploy/app/
sed -E -i'' "s/(.*app:).*/\1$COMMIT/" 'docker-compose.yml'
docker-compose pull app && docker-compose up -d
到此,关于“怎么向K8s Docker-Compose注入镜像Tag”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!