【问题标题】:Jenkins pipeline jobs to deploy to kubernetesJenkins 管道作业部署到 kubernetes
【发布时间】:2020-12-22 17:12:19
【问题描述】:

我对 Jenkins 和 Kubernetes 很陌生,我不确定这种部署到 kubernetes 的方式是否正确,或者是否有更好的方法来做到这一点。 所有镜像均使用 Jenkins 构建,然后部署到 kubernetes。 Yaml 文件放置在 kubernetes 服务器(centos 7)中。 使用 jenkins 管道 ssh 到 kubernetes 服务器并运行 kubectl delete

sh label: '', script: 'sshpass -p PASSWORD ssh -o StrictHostKeyChecking=no USER@SERVER kubectl delete svc SERVICE || true '

接下来运行类似的代码来删除部署,然后运行 ​​kubectl create filename.yaml 来创建部署。 一开始这没问题,但现在我注意到由于服务和部署被删除和重新创建而出现停机时间.. 我应该开始使用一些插件来使它更容易更好吗? yaml 文件是否应该放在其他地方,所以如果我需要做一些更改,我不需要连接到 Kubernetes Centos 并在那里进行更改?也许有人可以给我一些阅读链接或对此有一些好的做法? 提前致谢!

【问题讨论】:

    标签: jenkins kubernetes plugins yaml


    【解决方案1】:

    没有更好或最差的方法,但有一种方法适合你。

    您可以将所有 kubernetes 文件(yamls 文件)保存在 git 存储库中,当您运行管道时,Jenkins 将检索这些存储库以运行它们。

    我不确定您为什么要在应用前删除资源,但如果您使用的是 kind: deployment,则可以使用命令 kubectl applyrollingUpdate 策略来避免停机。

    Here 你可以找到很多关于 Jenkins 部署策略的有用信息。

    其他有用的链接:

    Kubernetes deployments

    Jenkins K8s Plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多