问题标签 [azure-acr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 如何在 AKS 中使用来自 ACR 的更新 docker 映像
我有一个本地 docker 镜像,它被推送到私有 Azure 容器注册表。然后在 Azure Kubernetes 服务中,我有一个使用此映像的集群 - 来自 ACR。
现在我想更新图像(意识到我需要安装 zip 和解压缩)。我启动了一个本地容器,进行更改,提交它们并将新图像推送到 ACR。不幸的是,这还不够。我的 pod 仍在使用以前版本的图像,没有 zip。
更多细节和我尝试过的:
在掌舵图中,我使用的是“最新”标签;
比较我本地“最新”图像的摘要 sha 和我在 ACR 中的内容 - 它们是相同的;
在本地启动“最新”容器(
docker run -it --rm -p 8080:80 My-REPO.azurecr.io/MY-IMAGE:latest
) - 它已安装 zip删除了 Kubernetes 中现有的 pod;新创建的仍然缺少 zip
删除版本并重新创建它 - 仍然没有。
我正在使用
docker push MY-REPO.azurecr.io/MY-IMAGE:latest
所以我的问题是——我错过了什么?如何正确更新此设置?
docker - Azure 容器实例中的 Windows 容器 - 要使用哪个基础映像?
我正在尝试让一个非常简单的 .net 核心控制台应用程序在 Azure 容器实例上的 Windows 容器中运行,但我遇到了很多问题。
首先,我尝试将其microsoft/dotnet:2.1-runtime
用作基础映像,但我可以看到有关Azure Container Instance Windows Version Wrong报告的错误 Windows 版本的错误。我尝试了许多不同的基本映像,有些在我的本地计算机上运行,有些则没有,但我仍然找不到具有 dot net core 并且是 ACI 服务的有效 Windows 版本的基本映像。谁能指出我应该使用什么基本图像的方向?还是我完全搞错了?TIA
image - 无法提取图像“xx.azurecr.io/xx:latest”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:未经授权:需要身份验证
我的 ACR 和 AKS 位于具有相同订阅的同一 Azure 目录中。
在向我的服务主体授予 ACR Pull 访问权限后,没有任何效果并且仍然出现此错误。
错误:- 无法提取图像“xx.azurecr.io/xx:latest”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:获取 https://xx.azurecr.io/v2/xx/manifests/latest:未经授权:需要身份验证
docker - 如何将 azure 容器实例 docker 提交到 azure 容器注册表
我们已将 ansible 配置为在 IIS 环境中部署我们的各种应用程序。我正在尝试创建已部署应用程序的 docker 映像,以便我可以根据需要启动容器进行测试等。
我计划在Windows IIS映像上构建,在 azure 上启动容器,运行我们的 ansible 以在服务器上安装所有内容,然后将映像保存在容器上。
我找不到任何关于如何docker commit
将容器映像放入我们的私有 azure 容器注册表的文档。
可能吗?
java - 生成用于在 Java 中访问 CR 的身份验证令牌
我正在使用服务主体对 Azure 进行身份验证,并且我想将 shell 脚本转换为 Java。我的 shell 脚本代码基本上是这样做的:
我正在尝试为
az account get-access-token --query accessToken -o tsv
和
curl -s -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=access_token&service=$REGISTRY&access_token=$AAD_ACCESS_TOKEN" https://$REGISTRY/oauth2/exchange | jq '.refresh_token' | sed -e 's/^"//' -e 's/"$//'
和
curl -s -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=refresh_token&service=$REGISTRY&scope=$SCOPE&refresh_token=$ACR_REFRESH_TOKEN" https://$REGISTRY/oauth2/token | jq '.access_token' | sed -e 's/^"//' -e 's/"$//'
但还没有真正找到有关如何使用 Java 执行此操作的任何文档。我发现了这一点:https ://github.com/AzureAD/azure-activedirectory-library-for-java/wiki/Acquire-tokens用于获取 AAD 令牌,但该页面上没有任何内容告诉我如何使用服务主体来执行此操作。
terraform - 如何授予 AKS 通过 terraform 访问 ACR 的权限?
问题和细节
如何允许 Azure 中的 Kubernetes 集群通过 terraform 与 Azure 容器注册表通信?
我想从我的 Azure 容器注册表加载自定义图像。不幸的是,我在 Kubernetes 应该从 ACR 下载图像时遇到了权限错误。
到目前为止我尝试过的
我没有 terraform 的实验 (az cli)
在我通过 az cli 将 acr 附加到 aks 后,这一切都运行良好:
az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acrName>
我的 terraform 实验
这是我的地形配置;我已经剥离了一些其他的东西。它本身就起作用。
此代码改编自https://github.com/terraform-providers/terraform-provider-azuread/issues/104。
不幸的是,当我在 Kubernetes 集群中启动一个容器时,我收到一条错误消息:
更新/注意:
当我terraform apply
使用上面的代码运行时,资源的创建被中断:
但是,我认为这只是因为创建服务主体需要几分钟。terraform apply
几分钟后我再次运行时,它超越了这一点而没有问题。
azure - 无法将图像从 ACR 容器化到 Minikube vm
我在 Azure 上创建了一个虚拟机,并在带有 VirtualBox 的 VM 上安装了 minikube。我已经使用以下链接中的说明创建了 kubectl 机密: https ://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-kubernetes 我能够从 ACR 发起拉取请求Azure 门户:
以下是对使用中的 pod 的描述:
请让我知道我哪里出错了。
security - GitHub Action Repository Secrets & 如何保护 client_payload repo 调度事件 Azure Container Registry
client_payload
有没有办法使用存储库调度事件在存储库之间安全地传递数据?
我为我的两个存储库之间的 CI 管道创建了存储库调度事件。我的第一个 repo 在GitHub Action中使用 Terraform创建 Azure 云资源,然后假设输出使用我的azure.tf
脚本创建的容器注册表资源的服务器地址、用户名和密码。
在第一个存储库中我的 GitHub Action 的最后一步中,它发出一个 POST 请求curl
来通知我的第二个存储库已创建 Azure 容器注册表 (ACR) 的初始云资源。现在应该可以安全地从我的第二个 repo 构建我的容器映像并将它们推送到 ACR。
我的问题是client_payload
被发送到我的第二个 repo,它使用不安全的原始 json,这将在我的第二个 repo 中的 GitHub 操作下,在我正在运行的 CI 作业的输出字符串中公开最重要的密码和其他信息。
这就是为什么我想了解是否有一种方法可以使用client_payload
?
docker-registry - Docker Registry V2 API - 推送图像 - 上传 (PATCH) 失败并显示 404
我正在尝试使用 Docker Http V2 API 在此链接之后推送图像;https://docs.docker.com/registry/spec/api/#pushing-an-image;在 POST 到 /blob/uploads 后,我可以获得“Location”标头值,但块/整体上传不起作用 - 找不到 404 - 即使我正在设置所需的标头。
我认为这里没有太大的失败空间,但我仍然收到错误消息。有人可以在这里帮助我吗?顺便说一句,我正在尝试在这里连接到 Azure Container Registry。
docker - 尝试登录 acr 时获得未经授权的访问
我正在尝试构建一个 gitlab-ci 管道并将构建映像从 gitlab 推送到 acr。我正在使用命令
docker login ****.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password EXPOSE_TOKEN
它以前工作过很多次,但这次它不起作用。
我收到错误消息:
'来自守护程序的错误响应:获取 https://****.azurecr.io/v2/:未经授权:需要身份验证,请访问https://aka.ms/acr/authorization了解更多信息。`
我也想将图像部署到 aks 但得到同样的错误。我已经多次执行我的管道,这是我第一次收到此错误。