在 CI/CD 管道实现中管理 Kubernetes 部署的创建和更新



目前我正在尝试使用SVN、Kubernetes和Jenkins实现CI/CD管道的演示。对于kubernetes部署,我创建了部署和服务。为了进行部署,我在Jenkins部署步骤中使用kubectl apply -f命令进行两个部署。

与以下内容一样,

stage ('Test Deployment')
{
steps
{
sh 'kubectl apply -f deployment/testdeployment.yaml'
sh 'kubectl apply -f deployment/testservice.yaml'
}
}

和服务。

对于我的SVN repo的每次提交,都会触发这个jenkins管道作业并执行命令。在修改代码中的任何更改后,将执行相同的kubectl apply命令。

我的困惑是,

  1. 我可以使用kubectl apply命令来更新现有部署吗
  2. 或者我需要使用命令kubectl rollout restart

对于CI/CD管道实现中的连续部署过程,当提交到SVN存储库时,我需要在Jenkinsfile中使用哪个命令来更新部署?

只要部署和服务文件中的资源名称没有更改,就可以使用Kuectl apply命令。来自Kubernetes的书,

Apply是一个命令,它将更新Kubernetes集群以匹配在文件中本地定义的状态。

kubectl apply

完全声明性-不需要指定创建或更新-只需管理文件

与滚动部署相关的参数,例如应该有多少pod可用,以及可以从活动部署中取出多少pod,您可以查看此文档。

最新更新