6

k8s 如何每次拉取最新镜像

 1 year ago
source link: https://www.v2ex.com/t/903126
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Kubernetes

k8s 如何每次拉取最新镜像

  orluna · 17 小时 42 分钟前 · 1157 次点击

CICD 工作流如何保证 kubectl apply -f deploymeny.yaml 每次都是最新的 docker 镜像

#deploymeny.yaml
imagePullPolicy: Always
image: xxx/xxxx/xxx:latest

还是说有必要部署helm动态渲染deploymeny.yaml

16 条回复    2022-12-18 05:52:06 +08:00
dingyaguang117

dingyaguang117      17 小时 37 分钟前

得手动指定 tag 吧,你这个 latest 表意不明确呀?还有如何回滚呢
orluna

orluna      17 小时 22 分钟前

家用服务,是把 deploymeny.yaml 存在私有 git 上,所以 cicd 不会去修改 git 上的 deploymeny.yaml ,期望是每次拉最新的 images 。实际貌似都是 uncahnged ,只能用 helm 指定 tag 了吗
SweetEriri

SweetEriri      16 小时 44 分钟前

可以 cicd 构建出镜像后 rollout deploy 滚动更新来拉取最新镜像
ccde8259

ccde8259      16 小时 33 分钟前 via iPhone

@orluna 先 scale 0 杀 pod 再 scale 1 起 pod
orluna

orluna      15 小时 28 分钟前

@ccde8259 清测有效 除了不太优雅~
leeeee9

leeeee9      13 小时 8 分钟前

jenkins 里面加一条删 pod 的不就完事
hubqin

hubqin      11 小时 30 分钟前

每次打镜像用新的 tag 并修改 yaml 里面的镜像为新的 tag
chronos

chronos      10 小时 47 分钟前

还有不优雅一点的方式,直接用 label 过滤删除对应的 pod ,然后 deployment 会重新将 pod 拉起来,imagePullPolicy: Always 就会拉新的镜像。

kubectl delete pod -l app=labelvalue
xuegy

xuegy      8 小时 50 分钟前 via iPhone

@ccde8259 TrueNAS Scale 的杀鸡用牛刀法
zxzflower

zxzflower      8 小时 42 分钟前

如果 yaml 没有其他更新 至单纯更新镜像 直接`set`就好了 没必要`apply -f`
```
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1
```
如果 yaml 有其他更新, 建议还是用`helm` or `kubectl kustomize`吧 或者你不嫌麻烦就脚本更新这个 yaml push 给代码仓库 在下一步拉去 apply 吧.

实际上不建议用 latest 来作为镜像配置.
- 你不知道生产上的是哪个版本
- 不利于回滚操作
moonheart

moonheart      7 小时 10 分钟前

简单,给 podTemplate 加个 annotation deployedAt=xxx ,每次更新版本都改一次,保证 deployment 会重新滚动
Shawee

Shawee      5 小时 49 分钟前

我使用的 argo 和 helm helm 仓库有提交 argo 自动更新
Nnq

Nnq      1 小时 19 分钟前

使用详细版本号 或者删除当前所有 deploy 来重新拉去镜像
Chad0000

Chad0000      26 分钟前 via iPhone

@zxzflower
把镜像放在 ci/cd 里就行了。我就是这么干的,每次 build 完后保留 image ,发布时上传给 tag ,deployment 设置总是拉取 image 。回滚就是 release 之前的 build 结果(会打 tag 重新 push )。

Recommend

  • 24

    Mac使用SourceTree项目的GIT密码始终保存不到Mac的钥匙串中,明明在钥匙串中是存在的.但是在使用sourceTree pull/push代码的时候还是需要再输入密码,很是繁琐.

  • 45
    • www.cnblogs.com 3 years ago
    • Cache

    Hive 如何快速拉取大批量数据

    用hive来做数仓类操作,或者大数据的运算,是没有疑问的,至少在你没有更多选择之前。 当我们要hive来做类似于大批量数据的select时,也许问题就会发生了变化。 1. 通用解决方案之分页 首先,我们要基于一个事实...

  • 15

    版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 警告:本文仅用于萌叔自己总结之用,对其它人而言可能毫无营养,没有阅读价值。 在k8s中要使用自己搭建的私有仓库,还需要一些额外...

  • 3
    • wiki-power.com 3 years ago
    • Cache

    如何批量拉取 Git 仓库更新

    如何批量拉取 Git 仓库更新仓库一多,逐个手动拉取就会变得很麻烦。使用本文的方法,可以对 Git 仓库进行批量拉取操作。步骤

  • 4
    • www.chenshake.com 3 years ago
    • Cache

    解决K8S安装镜像的问题

    其实在我经历过的环境,k8s安装,最大的问题都是在镜像的下载,怎么解决这个问题,都是老生常谈的问题。 docker hubquay.iok8s.gcr.io基本就是涉及这3个仓库。解决的办法,其实就是做香港搞一台虚拟机,装上nexu...

  • 5

    本篇的内容主要是关于docker镜像的。在我们安装好docker之后,要想使用它,第 一步就是要下载一些镜像。本文将依据此流程分析docker中镜像的拉取、存储等相关内容。 docker中几乎所有的操作都是通...

  • 4

    在mac中用minikube搭建了一个k8s环境,但是每次拉取镜像都很慢甚至失败, 本文总结两种从本地私有镜像仓库拉取镜像的方法实践, 先将镜像在宿主机上翻墙拉取到本地, 再由minikube 虚机中的k8s 来拉取本地镜像, 这样即可解决之前的拉取镜像失败,也可提升拉取镜像的速度...

  • 5
    • blog.51cto.com 2 years ago
    • Cache

    Harbor镜像拉取凭证配置

    镜像拉取凭证主题:在k8s创建Pod过程中,从Harbor私有镜像仓库下载镜像。Harbor的私有镜像为保证镜像的安全性,需要通过配置Secret才可以从Harbor下载镜像。公有仓库不需要配置。之前在我的专栏《Harbor宝典》中分享了Harbor...

  • 7

    不用每次输密码,Steam最新二维码登录界面曝光

  • 8

    V2EX  ›  Kubernetes k3s 如何解决 ErrImagePull 拉取镜像超时  

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK