【问题标题】:Build Dockerfile without docker on Kubernetes (AKS 1.19.0) running with containerd在使用 containerd 运行的 Kubernetes (AKS 1.19.0) 上构建没有 docker 的 Dockerfile
【发布时间】:2021-04-04 12:29:56
【问题描述】:

我有 Azure devops 管道,在 AKS 上构建 dockerfile,因为 AKS 正在弃用最新版本的 docker,请建议最佳做法是在 AKS 集群上构建没有 docker 的 dockerfile。 在 Kaniko 上探索,buildah 在没有 docker 的情况下构建..

【问题讨论】:

  • kaniko 可以,我认为 tekton 也可以这样做

标签: docker kubernetes azure-aks containerd


【解决方案1】:

什么都没有改变。您仍然可以在您的开发人员或 CI 系统上使用 docker builddocker push 来构建 Docker 映像并将其推送到存储库。唯一的区别是,在您的 Kubernetes 集群中使用 Docker 作为容器后端不再是受支持的选项,但这是您的应用程序不知道或不关心的低级别管理员级别的决定。

【讨论】:

    【解决方案2】:

    除非您以某种方式使用 Kubernetes 集群中的主机 docker 套接字进行构建,否则此更改不会影响您。如果您从 Kubernetes 集群中的主机安装 docker 套接字,我认为这是您想要解决的安全问题。

    Docker Desktop 将 docker 引擎作为容器运行在 containerd 之上,允许开发人员在该环境中构建和运行容器。类似的可以用在容器内运行 docker 引擎的 DinD 构建模式来完成,不同之处在于底层容器管理工具是 containerd 而不是完整的 docker 引擎,但容器化的 docker 引擎对此无动于衷。

    作为在完整的 docker 引擎中构建的替代方法,我建议查看 buildkit,它是 docker 20.10 中当前的默认构建工具。它使用 containerd,并且他们提供了一个 selection of manifests 以作为独立构建器直接在 kubernetes 中运行构建。

    【讨论】:

      猜你喜欢
      • 2019-04-25
      • 1970-01-01
      • 2021-06-07
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 2020-02-12
      • 2022-12-22
      相关资源
      最近更新 更多