【问题标题】:docker vs kubernetes in jenkinsjenkins 中的 docker vs kubernetes
【发布时间】:2022-01-08 06:11:20
【问题描述】:

我是 docker 和 kubernetes 的新手,所以我正在阅读一个提取 docker 镜像的管道代码,该镜像将用作代理。

pipeline {
    agent {
        docker {
            image 'myinternalrepo/myimage:1.0'
            
        }

在另一个管道中,它是用不同的方式编写的,无法分辨出有什么区别

pipeline {
    agent {
        kubernetes{
            yaml """
            spec:
  containers:
    - name: myimage
      image: myinternalrepo/myimage:1.0

那么两者之间有什么区别?虽然我得到了相同的容器,并且在每个容器上运行一些命令时,我得到了相同的结果。

【问题讨论】:

  • 一个是Docker,一个是Kubernetes,这就是区别。用法可能没有什么不同,但它的运行方式和位置不同。
  • 嗯,在读取控制台输出时,我需要更多关于两种实现差异的详细信息,例如,当使用 docker 时,它会停止 docker 映像,然后在管道结束时将其删除。而在 kuberetes 案例中似乎没有发生这种情况。

标签: docker jenkins kubernetes


【解决方案1】:

代理 Docker 意味着您的管道将在运行在 Docker 主机上的 docker 容器内执行。这意味着您的代理需要配置Docker。换句话说,这通常意味着您的代理正在运行 Docker 守护进程。

代理 Kubernetes 意味着您的管道将在运行于 Kubernetes Pod in Kubernetes 内的 (docker) 容器内执行。这意味着您的代理需要配置(访问)Kubernetes。

因此,从技术上讲,您的流水线工作方式相同,但不同之处在于您的 Jenkins 代理的配置方式。

更多详情请查看https://www.jenkins.io/doc/book/pipeline/syntax/#agent

【讨论】:

    猜你喜欢
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2021-07-04
    • 2018-10-05
    相关资源
    最近更新 更多