【发布时间】:2022-11-09 14:04:23
【问题描述】:
我在 Azure 上创建了一个私有 AKS 群集,其中的 Linux VM 充当自托管代理\堡垒。 Linux 机器可以通过 Kubectl 访问 AKS 集群。我的问题是,当我尝试在 Azure DevOps 管道中运行 bash 脚本时,我得到的权限被拒绝。(管道使用上面的自托管代理) Bash 脚本运行 Helm 命令,该命令获取 AKS 需要的图像列表.我想使用此列表从外部 Docker 注册表中提取图像并将它们推送到内部 Azure 容器注册表,然后使用 Helm 进行部署。
这是脚本中的 Helm 命令:
helm upgrade --install hosts-node -f helm_config.yaml myapp/hosted-app --dry-run -n dev | grep "图像:" | awk "{print $2}" |独特 | sed "s/"//g" | grep "myapp" | sed "s/^.*image: //g"
管道流程是这样的:
-
获取所需图像列表
-
从私有 Docker 存储库中提取图像
-
将图像推送到 ACR
-
运行 Helm(它将被配置为使用 ACR 中的图像)
如何从管道中为构建代理提供适当的凭据以运行上述命令。
谢谢, 射线
【问题讨论】:
标签: bash shell pipeline azure-aks