日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何向K8s,Docker-Compose注入镜像Tag

發布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何向K8s,Docker-Compose注入镜像Tag 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做基于容器的CI/CD, 一個樸素的自動部署的思路是:

  • 從Git Repo打出git tag,作為鏡像Tag

  • ssh遠程登錄到部署機器

  • 向部署環境注入鏡像Tag,拉取鏡像,重新部署

下面分享我是如何在K8s、docker-compose中注入鏡像Tag

k8s

熟悉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/websitenewTag:?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-compose

Docker平臺就沒有那么好的工具,明文讓你修改鏡像配置。

我們采用shell腳本來曲線修改鏡像配置:

假如你有一個簡單的docker-compose.yml文件:

version:?'3'services:app:image:?username/app:d7s8f12ports:-?80:80

通過shell腳本修改`app:` 字符串后面的鏡像Tag,達到注入Tag的目的。

sed -E -i'' "s/(.*app:).*/\1$COMMIT/" 'docker-compose.yml'

同樣,自動部署時由CI給部署腳本導入此次Git Tag (鏡像Tag)。

#!/bin/shcd??/home/wd-deploy/app/ sed?-E?-i''?"s/(.*app:).*/\1$COMMIT/"?'docker-compose.yml' docker-compose?pull?app ?&&?docker-compose??up?-d

以上部署腳本: 進入docker-compose.yml目錄,向Compose文件注入新的鏡像Tag,拉取鏡像并應用新的配置。

結束語

本文分享了向K8s, Docker-Compose平臺注入鏡像Tag的姿勢。

?為啥要專題講這個呢?因為注入Tag是自動部署的必經過程。

本文只是一個粗淺的、樸素的注入思路(Devops生態有許多組件可以完成該項動作), 歡迎大家多多留言,帶我上路。

更多干貨及最佳實踐分享
關注并星標我們~。。~

總結

以上是生活随笔為你收集整理的如何向K8s,Docker-Compose注入镜像Tag的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。