无法使用 AKS 和 ACR 提取新映像

2024-01-20

我突然在使用 AKS 从 Azure 容器注册表中提取最新映像时遇到问题(之前工作正常。

If I run

kubectl describe pod <podid> I get:


Failed to pull image <image>: rpc error: code = Unknown desc = Error response from daemon: Get <image>: unauthorized: authentication required

我已尝试手动登录 ACR,一切正常 - 新图像已正确推送,我可以手动拉取它们。

此外我已经尝试过:

az aks update -g MyResourceGroup -n MyManagedCluster --attach-acr acrName

哪个成功(没有错误,输出传播成功),但它仍然不起作用。

我尝试使用以下方法更新凭据:

az aks update-credentials --resource-group <group>--name <aks name>--reset-service-principal --service-principal <sp id> --client-secret <client-secret>

其中输出了一条相当奇怪的消息:

Deployment failed. Correlation ID: 6e84754a-821d-4a39-a0df-7ab9ba21973f. 
Unable to get log analytics workspace info. Resource ID: 
/subscriptions/<subscription id>/resourcegroups/defaultresourcegroup- 
weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace- 
d259e6ea-8230-4cb0-a7a8-7f0df6c7ef18-weu. Details: autorest/azure: Service 
returned an error. Status=404 Code="ResourceGroupNotFound" 
Message="Resource group 'defaultresourcegroup-weu' could not be found.". For 
more details about how to create and use log analytics workspace,  please 
refer to: https://aka.ms/new-log-analytics

我尝试创建一个新的日志分析工作区,但上述错误仍然存​​在。

我还尝试过以下步骤:

这个链接 https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication#service-principal

这个帖子 https://stackoverflow.com/questions/49639280/kubernetes-cannot-pull-image-from-private-docker-image-repository

还有这个帖子 https://stackoverflow.com/questions/55574059/failed-to-pull-image-xx-azurecr-io-xxlatest-rpc-error-code-unknown-desc

除了上面的帖子之外,我还浏览了许多教程和 Microsoft 页面来尝试解决该问题。

我尝试创建一个新的服务主体并为其分配适当的角色,但错误仍然存​​在。 我也尝试过创造新的秘密,但没有成功。

我不需要新图像的 Pod 都按预期运行。 如果我查看我的应用程序注册(在天蓝色活动目录下),它们都是一年前创建的 - 所以我担心某些内容已过期,并且我不知道如何修复它。


有两种方法可以解决这个问题

  1. 将 ACR 映射到 AKS

CLIENT_ID=$(az aks show --resource-group $AKS_RESOURCE_GROUP --name 
$AKS_CLUSTER_NAME --subscription $SUBSCRIPTION_ID --query "servicePrincipalProfile.clientId" --output tsv)

ACR_ID=$(az acr show --name $ACR_NAME --resource-group $ACR_RESOURCE_GROUP --subscription $SUBSCRIPTION_ID --query "id" --output tsv)

az role assignment create --assignee $CLIENT_ID --role Reader --scope $ACR_ID

另一种方法是添加 Image pull Secret,其类型为 kubernetes.io/dockerconfigjson

这可以通过以下方式完成:

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

然后您可以在部署文件中将此密钥引用为 imagePullSecret ,并且不会出现身份验证错误

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 AKS 和 ACR 提取新映像 的相关文章

随机推荐

  • 如何在离开和返回 HTTPS 页面时保留更改的表单内容? (适用于 HTTP)

    在文本区域中输入 更改某些内容 在提交表单之前 请离开页面 例如通过单击浏览器的后退按钮 返回编辑页面 例如 单击前进按钮 预期结果 在textarea中输入的内容应该仍然存在 实际结果 with HTTPS 所有的改变都消失了 bad w
  • MongoDB无尽查找ToListAsync

    我正在尝试从 MongoDB 集合中检索数据 但是发生了一些奇怪的事情 如果我显示 MessageBox 则数据获取有效 如果不显示 则数据获取无效 static class MongoDBController static MongoCl
  • Obj-C Cocoa 通知 NSApplicationDidResignActiveNotification

    我有一个名为 AppController h m 的类 我想在发送 NSNotificationDidResignActiveNotification 时做一些事情 所以我在AppController m中编写了这段代码 void init
  • CNN - 图像调整大小 VS 填充(是否保持纵横比?)

    虽然人们在训练 CNN 时通常倾向于简单地将任何图像调整为正方形 例如 resnet 采用 224x224 正方形图像 但这对我来说看起来很难看 尤其是当长宽比不在 1 左右时 事实上 这可能会改变基本事实 例如 专家可能给扭曲图像的标签可
  • 如何获得适用于 Android 的简单相机程序?

    我刚刚开始用 Java 编程 我需要一个简单的应用程序来显示相机 拍照并将图片数据发送到某个地方 我一直在网上搜索 试图找到一个按预期工作的好相机教程 但显然它们都需要一些我还没有的内在知识 On this https stackoverf
  • 如何对齐输入内部的文本?

    对于所有默认输入 您填写的文本从左侧开始 怎么让它从右边开始呢 Use the 文本对齐 http www w3schools com cssref pr text text align aspCSS 中的属性 input text ali
  • C++ 中的继承和模板 - 为什么继承的成员不可见?

    当一个模板公开继承另一个模板时 基公共方法不应该是可访问的吗 template
  • 如何在 php 中添加 txt 文件并创建 ZIP [重复]

    这个问题在这里已经有答案了 可能的重复 打开文件 写入文件 将文件另存为 zip 并流式传输给用户下载 https stackoverflow com questions 2286639 open file write to file sa
  • Xcode 7 GM 无法验证 git 存储库

    我可以使用 Xcode 6 毫无问题地提交到这个存储库 git 在终端中仍然可以正常工作 我可以在本地和远程提交 在 Xcode 7 中 我可以本地提交 但不能远程提交 它说身份验证失败并且无法重置用户名 它呈灰色 我的本地 git 配置文
  • Vue router - 如何根据用户角色在同一路由路径上加载多个组件?

    我有一个应用程序 用户可以以不同的角色登录 例如 seller buyer and admin 对于每个用户 我想在同一路径上显示仪表板页面 例如 http localhost 8080 dashboard然而 每个用户将在不同的 vue
  • 如何向画布元素添加简单的 onClick 事件处理程序?

    我是一名经验丰富的 Java 程序员 但大约十年来我第一次看到一些 JavaScript HTML5 的东西 我完全被什么应该是最简单的事情难住了 作为一个例子 我只想画一些东西并为其添加一个事件处理程序 我确信我在做一些愚蠢的事情 但我已
  • iPhone模拟器和Android模拟器的区别

    iPhone模拟器和Android模拟器有什么区别 我听人们说模拟器确实模拟了目标设备 但在模拟器的情况下则不然 我认为Android模拟器模仿目标设备的处理速度 内存使用情况 但模拟器不模拟设备 免责声明 我只是一名 iPhone 开发者
  • 三星“应用程序优化”功能在 3 天后杀死后台应用程序

    我们目前正在开发一款 Android 应用程序 它是一款健身追踪器应用程序 它在后台持续运行 并且在大多数设备上运行良好 但我们一直遇到应用程序在某些三星设备上完全消失的问题 经过一番调查 似乎某些三星设备具有完全自定义的 应用程序优化 功
  • 测试两个范围是否重叠的最有效方法是什么?

    给定两个包含范围 x1 x2 和 y1 y2 其中x1 x2 and y1 y2 测试两个范围是否重叠的最有效方法是什么 一个简单的实现如下 bool testOverlap int x1 int x2 int y1 int y2 retu
  • 如何在 Django 中创建装饰器来装饰视图

    我有观点 decorator def func request hello hello return render to responce test html locals 和模板 test html hello username 我想写装
  • 如何在不注册机器人帐户的情况下以编程方式从维基共享资源下载图像?

    机器人帐户获得批准的唯一方法似乎是添加或编辑维基媒体上已有的信息 如果您尝试在没有机器人帐户的情况下使用某些 api 库下载任何图像 您会收到错误消息而不是图像 似乎他们阻止了任何不从浏览器进入的人 其他人有这方面的经验吗 我在这里错过了什
  • 提交触发后 Bitbucket 构建错误

    我试图在使用 BitBucket 插件提交时自动触发构建 我似乎使用 Web Hook 正确设置了内容 并选中项目中的 将更改推送到 BitBucket 时构建 框 当我提交时 我在 BitBucket Hook Log 中看到一条消息 显
  • 继承对象的 XML 反序列化

    我有一个对象InputFile它有数组和对象来保存文件的内容 我也有ABCFile and XYZFile两者都继承自InputFile它将读取不同类型的文件并将它们存储到的投影成员中InputFile 由于这两个对象的序列化和反序列化与父
  • Flutter Web 中的分段文件上传

    有没有办法将文件分段上传到 Flutter Web 原生的服务器 因为 Flutter iOS 和 Android 有很多方法可以做到这一点 对于 Android IOS 我们使用 multiPFile await MultipartFil
  • 无法使用 AKS 和 ACR 提取新映像

    我突然在使用 AKS 从 Azure 容器注册表中提取最新映像时遇到问题 之前工作正常 If I run kubectl describe pod