首页 > 其他分享 >Knative的tag to digest是什么?

Knative的tag to digest是什么?

时间:2024-03-18 10:55:06浏览次数:47  
标签:tag Knative deployment 镜像 digest knative

我将集群的kubernetes版本更新到1.29,knative版本更新到1.13后,部署knative service总是失败:failed to resolve image to digest,在折腾一段时间后解决了这个问题,那么tag to digest是什么,又该如何解决?

Tag to digest是什么?

参考https://knative.dev/docs/serving/tag-resolution/

最开始docker仓库协议中只有tag的概念,gcr.io/helloworld/v1就是一个tag,拉取时仓库根据tag给你返回镜像。但是使用tag会遇到不一致的问题,如果deployment部署后先只有一个worker上拉取了镜像,然后仓库更新了对应tag的镜像内容,当deployment扩容时,第二个worker拉取的镜像就和第一个worker不一致。
Example Image
Example Image
Example Image
开始是用“immutable tag”解决这个问题,但是客户可能想在不更改tag的情况下滚动更新这个deployment,immutable tag使得客户必须更新tag。
Example Image
后来用“tag to digest”解决不一致问题,客户端拉取镜像时会获取tag对应的digest,比如taggcr.io/helloworld/v1,对应的digest是gcr.io/helloworld/@sha256:abab,在一次部署中只拉取这个digest镜像,如果仓库更新tag的内容,客户端拉取的也是更新前的内容,这样就保证所有机器有相同的镜像。

Knative为什么报错了?

根据Knative文档,必须加上对仓库的访问权限才能使用tag resolution,DockerHub的文档里有authentication的介绍,报错可能是没有加上对DockerHub仓库的访问权限。

如何解决?

一种是加上authentication,如果没有tag resolution的需求(就是觉得immutable tag方便),可以修改knative配置,不对DockerHub的镜像做tag resolution。
kubectl edit configmap config-deployment -n knative-serving
在data一节下添加一句话 (不要修改_example下的内容):
registries-skipping-tag-resolving: kind.local,ko.local,dev.local,index.docker.io

标签:tag,Knative,deployment,镜像,digest,knative
From: https://www.cnblogs.com/huasyuan/p/18079787

相关文章

  • FPD、DPD、vintage、滚动率、迁移率
    1、vintage、滚动率、迁移率https://zhuanlan.zhihu.com/p/81027037/vintage滚动率:前六个月到后六个月状态迁徙率是在vintage基础上加工而来的。vintagevintage:selectloan_month,mob,sum(loan_amt)as"放款金额",sum(if(overdueday>=1,left_repay_principal,0))as1+剩......
  • 第三章 vim 以及 重点第四章 使用DataGrip mysql
    16/3/2024如没有特殊说明使用软件操作一律都是FinalShell第三章Vim编辑器的使用1)三种操作模式命令模式:使用快捷指令操作的文件内容插入模式(编辑模式):可以输入文字信息,此时快捷指令失效末行模式(低行模式),底线命令模式):可以保存退出或者替换文字等只能编辑文本内容不......
  • wpf datagrid row background color alternatively changed based on row index,Alter
    <Windowx:Class="WpfApp7.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.c......
  • The 2023 CCPC (Qinhuangdao) Onsite (The 2nd Universal Cup. Stage 9: Qinhuangdao)
    Preface完全披萨,最害怕的一集,2h过了5题后开始大坐牢环节徐神开D感觉是个巨复杂的字符串讨论题,一不注意就码了200+行然后我和祁神在下面讨论得出了I的做法,虽然是个DS题但上去写的时候一点自信没有最后摸了半天到比赛结束后1min才调出样例,赛后又调了半小时左右才过了这题唉这就......
  • Git-tag标签
    gittag用作上线发布的时候打tag处理。gittag-a-m“addedreleasenotes”处理命令为: gittag-av1.0-beta-m"v1.0beta版本发布上线"gittag#查看tag列表gittag--list#查看tag列表gittag-l#同理查看tag列表#此处对历史提交做tag处理gitlog--pretty......
  • 第六十九天 BBS项目之五 js与模板语法 inclusion_tag实操,文章详情,点赞点踩
    一、昨日内容回顾#1首页文章的渲染 -模板语法的for循环-bootstrap的媒体组-显示头像:articel.blog.userinfo有可能没有:在admin中建立关系 -注册---》申请开启博客功能-图标库 -font-awesome-4.7.0#2个人站点样式 -头部导航栏-......
  • Git 开源的版本控制系统-05-tags 标签管理
    标签创建标签gittag<标签名>[提交ID]显示标签gittag显示标签详细信息gitshow<标签名>houbinbindeMacBook-Pro:git-demohoubinbin$gitbranchgit_demo_1.1git_demo_1.2git_demo_bug_001*masterhoubinbindeMacBook-Pro:git-demohoubinbin$gitta......
  • MetaGPT day06 Environment组件源码 多智能体辩论
    Environment环境中通常具有一定的规则,而agent必须按照规则进行活动,MetaGPT提供了一个标准的环境组件Environment,来管理agent的活动与信息交流。MetaGPT源码中是这样介绍Environment的:环境,承载一批角色,角色可以向环境发布消息,可以被其他角色观察到Environment的基本组成:......
  • VB.NET 在DataGridview 动态添加下拉列表控件DataGridViewComboBoxColumn要点两次才可
     DataGridview属性EditMode设为EditOnEnter 添加如下事件代码PrivateSubdgvZhiJianXiangMu_CellClick(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesdgvZhiJianXiangMu.CellClickIfe.ColumnIndex>=0AndAls......
  • Blazor笔记-Component stages/life cycle
    更新记录注意:非教程。纯笔记,日常查询用的。需要教程的小伙伴找几本书看看即可哈哈,有Vue基础的话非常快,概念都是通的。非工作需要不建议深入学习Blazor,深入Vue吧,用的多,哈哈。完整目录地址:https://www.cnblogs.com/cqpanda/p/17596348.html点击查看2024年3月7日发布。2023......