【问题标题】:Unable to run VSTS Agents on Kubernetes using Azure Devops无法使用 Azure Devops 在 Kubernetes 上运行 VSTS 代理
【发布时间】:2022-02-23 00:00:32
【问题描述】:

我最近在 kubernetes 上创建了 this 图表。它已被归档。这些是我为让它运行所做的更改:

图片

将图片从microsoft/vsts-agent更改为mcr.microsoft.com/azure-pipelines/vsts-agent 将标签从latest 更改为ubuntu-16.04-docker-17.12.0-ce

限制

将限制从 4 个 CPU 和 8Gbi 分别降低到 1 个和 1 个,因为我很便宜并且使用的是弱 VM。

API 版本

apiVersion: apps/v1beta2 更改为 apiVersion: apps/v1 以允许 Statefulset


话虽如此,集群上的一切都运行良好并且运行良好。到目前为止一切顺利,对吧?出色地。不太好。

下一步是实际使用代理。我使用代理池设置 Azure Devops,并使用 GUI 配置了一个非常简单的管道。

步骤 1 成功,但步骤 2 失败。所以这就是我陷入困境的地方。该图表使用了一个已安装的 docker-socket,我相信它已从 AKS (read about this here) 中删除。

我不确定为什么第 1 步会成功,告诉我 docker 已安装,但第 2 步失败,理由是找不到 docker。

我看到的主要错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?


是否有替代解决方案?现在我刚刚在 Devops 上购买了一个托管代理,只是为了完成一些构建,但我不想这样做,如果可能的话,我想使用 Kubernetes 来运行这些代理。

【问题讨论】:

    标签: azure docker kubernetes azure-devops azure-aks


    【解决方案1】:

    在(任何最新版本)的 AKS 上运行,您不能使用 docker-in-docker(这是您想要在此处执行的操作)。有关 AKS 切换到 containerd 时引入的限制,请参阅本文:https://docs.microsoft.com/en-us/azure/aks/cluster-configuration#containerd-limitationsdifferences

    作为替代方案,我建议使用VMSS-self hosted Build Agents。对我来说就像一个魅力。使用 cloud-init 定义您想要拥有的软件,ADO 负责扩展和缩减您的代理。

    【讨论】:

    • 感谢您的回复,但我真的希望有一个基于 kubernetes 的方法。
    • 见这里的例子。使用 ACR 任务可能是一个可行的选择techcommunity.microsoft.com/t5/fasttrack-for-azure/…
    • 我会调查这个@silent。如果证明符合问题的精神,我会喜欢你的回答。真的很感激。
    猜你喜欢
    • 2022-11-28
    • 2019-07-09
    • 2020-05-16
    • 2019-03-16
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多